Managing Ensemble Productions - InterSystems Documentation
Managing Ensemble Productions - InterSystems Documentation
Managing Ensemble Productions - InterSystems Documentation
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Managing</strong> <strong>Ensemble</strong><br />
<strong>Productions</strong><br />
Version 2010.2<br />
25 April 2011<br />
<strong>InterSystems</strong> Corporation 1 Memorial Drive Cambridge MA 02142 www.intersystems.com
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong><br />
<strong>Ensemble</strong> Version 2010.2 25 April 2011<br />
Copyright © 2011 <strong>InterSystems</strong> Corporation<br />
All rights reserved.<br />
This book was assembled and formatted in Adobe Page Description Format (PDF) using tools and information from the following sources:<br />
Sun Microsystems, RenderX, Inc., Adobe Systems, and the World Wide Web Consortium at www.w3c.org.The primary document development<br />
tools were special-purpose XML-processing applications built by <strong>InterSystems</strong> using Caché and Java.<br />
and<br />
Caché WEBLINK, Distributed Cache Protocol, M/SQL, M/NET, and M/PACT are registered trademarks of <strong>InterSystems</strong> Corporation.<br />
, , and<br />
<strong>InterSystems</strong> Jalapeño Technology, Enterprise Cache Protocol, ECP, and <strong>InterSystems</strong> Zen are trademarks of <strong>InterSystems</strong> Corporation.<br />
All other brand or product names used herein are trademarks or registered trademarks of their respective companies or organizations.<br />
This document contains trade secret and confidential information which is the property of <strong>InterSystems</strong> Corporation, One Memorial Drive,<br />
Cambridge, MA 02142, or its affiliates, and is furnished for the sole purpose of the operation and maintenance of the products of <strong>InterSystems</strong><br />
Corporation. No part of this publication is to be used for any other purpose, and this publication is not to be reproduced, copied, disclosed,<br />
transmitted, stored in a retrieval system or translated into any human or computer language, in any form, by any means, in whole or in part,<br />
without the express prior written consent of <strong>InterSystems</strong> Corporation.<br />
The copying, use and disposition of this document and the software programs described herein is prohibited except to the limited extent<br />
set forth in the standard software license agreement(s) of <strong>InterSystems</strong> Corporation covering such programs and related documentation.<br />
<strong>InterSystems</strong> Corporation makes no representations and warranties concerning such software programs other than those set forth in such<br />
standard software license agreement(s). In addition, the liability of <strong>InterSystems</strong> Corporation for any losses or damages relating to or arising<br />
out of the use of such software programs is limited in the manner set forth in such standard software license agreement(s).<br />
THE FOREGOING IS A GENERAL SUMMARY OF THE RESTRICTIONS AND LIMITATIONS IMPOSED BY INTERSYSTEMS<br />
CORPORATION ON THE USE OF, AND LIABILITY ARISING FROM, ITS COMPUTER SOFTWARE. FOR COMPLETE INFORMATION<br />
REFERENCE SHOULD BE MADE TO THE STANDARD SOFTWARE LICENSE AGREEMENT(S) OF INTERSYSTEMS CORPORATION,<br />
COPIES OF WHICH WILL BE MADE AVAILABLE UPON REQUEST.<br />
<strong>InterSystems</strong> Corporation disclaims responsibility for errors which may appear in this document, and it reserves the right, in its sole discretion<br />
and without notice, to make substitutions and modifications in the products and practices described in this document.<br />
For Support questions about any <strong>InterSystems</strong> products, contact:<br />
<strong>InterSystems</strong> Worldwide Customer Support<br />
Tel: +1 617 621-0700<br />
Fax: +1 617 374-9391<br />
Email: support@<strong>InterSystems</strong>.com
Table of Contents<br />
About This Book .................................................................................................................................... 1<br />
1 <strong>Ensemble</strong> Management Portal .......................................................................................................... 3<br />
1.1 System Requirements ................................................................................................................. 4<br />
1.2 Starting the Portal ....................................................................................................................... 4<br />
1.2.1 Starting from the System Management Portal ................................................................. 4<br />
1.2.2 Starting from Studio ......................................................................................................... 4<br />
1.3 Login .......................................................................................................................................... 5<br />
1.3.1 Logging into the Portal .................................................................................................... 5<br />
1.3.2 Working with Login Accounts ......................................................................................... 5<br />
1.3.3 Working with Namespaces ............................................................................................... 5<br />
1.3.4 Working with Security Settings ........................................................................................ 5<br />
1.4 <strong>Ensemble</strong> Home Page ................................................................................................................. 6<br />
1.4.1 <strong>Ensemble</strong> Menu ................................................................................................................ 6<br />
1.4.2 <strong>Ensemble</strong> Table ................................................................................................................ 7<br />
1.4.3 Job Table .......................................................................................................................... 8<br />
1.4.4 Log Table .......................................................................................................................... 8<br />
1.4.5 Service Table .................................................................................................................... 9<br />
1.4.6 Process Table .................................................................................................................... 9<br />
1.4.7 Operation Table ................................................................................................................ 9<br />
1.5 Logout ...................................................................................................................................... 10<br />
1.6 Portal Command Summary ...................................................................................................... 10<br />
2 Management Tasks ........................................................................................................................... 15<br />
2.1 Adding Items ............................................................................................................................ 16<br />
2.2 Configuring Items .................................................................................................................... 16<br />
2.3 Finding Items ............................................................................................................................ 17<br />
2.4 Monitoring Items ...................................................................................................................... 17<br />
2.5 Purging Items ........................................................................................................................... 18<br />
2.6 Starting and Stopping Items ..................................................................................................... 18<br />
2.7 Storing Items ............................................................................................................................ 19<br />
2.8 Testing Items ............................................................................................................................ 19<br />
2.9 Viewing Items ........................................................................................................................... 20<br />
3 What to Manage ................................................................................................................................ 21<br />
3.1 Working with <strong>Productions</strong> ........................................................................................................ 21<br />
3.2 Working with Host Classes ...................................................................................................... 22<br />
3.3 Working with Configuration Items ........................................................................................... 23<br />
3.3.1 Business Services ........................................................................................................... 24<br />
3.3.2 Business Processes ......................................................................................................... 24<br />
3.3.3 Business Operations ....................................................................................................... 25<br />
3.3.4 Scheduling Configuration Items .................................................................................... 25<br />
3.3.5 Assigning Configuration Items to Categories ................................................................ 28<br />
3.4 Working with Credentials ......................................................................................................... 29<br />
3.5 Working with Dashboards ........................................................................................................ 29<br />
3.5.1 Dashboards ..................................................................................................................... 30<br />
3.5.2 Business Metrics ............................................................................................................ 31<br />
3.6 Working with Business Rules ................................................................................................... 32<br />
3.6.1 Business Rules Pages ..................................................................................................... 33<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong><br />
iii
3.7 Working with the Event Log .................................................................................................... 33<br />
3.8 Working with the I/O Archive .................................................................................................. 34<br />
3.9 Working with Jobs .................................................................................................................... 35<br />
3.9.1 Jobs Page ........................................................................................................................ 35<br />
3.10 Working with Messages ......................................................................................................... 36<br />
3.10.1 Message Status ............................................................................................................. 37<br />
3.10.2 Messages in Progress ................................................................................................... 38<br />
3.11 Working with Queues ............................................................................................................. 38<br />
3.12 Working with Sessions ........................................................................................................... 39<br />
3.13 Working with Workflow ......................................................................................................... 39<br />
3.13.1 Workflow Portal ........................................................................................................... 40<br />
4 <strong>Productions</strong> ........................................................................................................................................ 41<br />
4.1 Production List ......................................................................................................................... 41<br />
4.2 Starting a Production ................................................................................................................ 42<br />
4.3 Stopping a Production .............................................................................................................. 43<br />
4.4 Production <strong>Documentation</strong> ....................................................................................................... 44<br />
5 Configuration .................................................................................................................................... 45<br />
5.1 Configuration Diagram ............................................................................................................ 46<br />
5.1.1 Configuration Shapes ..................................................................................................... 46<br />
5.1.2 Configuration Names ..................................................................................................... 47<br />
5.1.3 Configuration Icons ........................................................................................................ 49<br />
5.1.4 Status Indicators ............................................................................................................. 50<br />
5.1.5 Pool Size ........................................................................................................................ 50<br />
5.1.6 Context Menu ................................................................................................................. 50<br />
5.2 Configuration Settings .............................................................................................................. 51<br />
5.2.1 Configure Production Settings ....................................................................................... 51<br />
5.2.2 Configure Business Host Settings .................................................................................. 54<br />
5.2.3 Business Service Settings ............................................................................................... 59<br />
5.2.4 Business Process Settings .............................................................................................. 60<br />
5.2.5 Business Operation Settings ........................................................................................... 61<br />
5.2.6 Reply Code Actions Setting ........................................................................................... 62<br />
6 System Monitor ................................................................................................................................. 65<br />
7 Event Log .......................................................................................................................................... 67<br />
7.1 Event Log Entries ..................................................................................................................... 67<br />
7.2 Event Log Filter ........................................................................................................................ 68<br />
7.3 Event Log Purge ....................................................................................................................... 69<br />
8 Message Browser .............................................................................................................................. 71<br />
8.1 Message List ............................................................................................................................. 71<br />
8.1.1 Message Details ............................................................................................................. 73<br />
8.1.2 Message Contents .......................................................................................................... 75<br />
8.1.3 Visual Trace .................................................................................................................... 76<br />
8.2 Message Filter .......................................................................................................................... 79<br />
8.2.1 Basic Filter Terms .......................................................................................................... 79<br />
8.2.2 Detailed Filter Terms ...................................................................................................... 80<br />
8.2.3 Filter Results .................................................................................................................. 84<br />
8.3 Resend Messages ...................................................................................................................... 85<br />
8.3.1 Resend Editor ................................................................................................................. 86<br />
9 Business Processes ............................................................................................................................ 87<br />
iv<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
9.1 Business Process List ............................................................................................................... 87<br />
9.2 BPL Viewer .............................................................................................................................. 88<br />
9.3 Business Process Instances ....................................................................................................... 91<br />
9.3.1 Business Process Instance Entries .................................................................................. 91<br />
9.3.2 Business Process Instance Filter .................................................................................... 93<br />
9.3.3 Business Process Instance Purge .................................................................................... 93<br />
10 Host Monitor ................................................................................................................................... 95<br />
10.1 Monitor Items ......................................................................................................................... 95<br />
10.2 Monitor Instances ................................................................................................................... 97<br />
10.3 Monitor History ...................................................................................................................... 98<br />
11 Queues ............................................................................................................................................. 99<br />
11.1 Queue Contents ...................................................................................................................... 99<br />
11.2 Message Details .................................................................................................................... 100<br />
12 Maintenance .................................................................................................................................. 103<br />
12.1 Suspended Messages ............................................................................................................ 104<br />
12.1.1 Resend Editor for Resubmitting Messages ................................................................ 105<br />
12.2 Purge Management Data ...................................................................................................... 105<br />
12.3 Credentials ............................................................................................................................ 107<br />
12.4 Local Archive Manager ........................................................................................................ 108<br />
12.5 Lookup Settings .................................................................................................................... 109<br />
12.6 Default Settings .................................................................................................................... 110<br />
12.7 Enterprise Message Bank ..................................................................................................... 111<br />
12.7.1 Adding a Message Bank Business Operation ............................................................ 113<br />
12.7.2 Configuring a Message Bank Business Operation ..................................................... 113<br />
13 Testing Service ............................................................................................................................... 117<br />
13.1 Testing Service - 1 of 4, Select Target .................................................................................. 117<br />
13.2 Testing Service - 2 of 4, Select Message Type ..................................................................... 118<br />
13.3 Testing Service - 3 of 4, Submit Test Data ........................................................................... 118<br />
13.4 Testing Service - 4 of 4, View Results .................................................................................. 118<br />
14 EDI / HL7 Manager ...................................................................................................................... 121<br />
14.1 Schema Structures ................................................................................................................ 121<br />
14.2 Document/Message Viewer .................................................................................................. 122<br />
Index ................................................................................................................................................... 123<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong><br />
v
List of Figures<br />
Figure 3–1: Dashboard Page with an Active Dashboard ....................................................................... 31<br />
Figure 5–1: Configuration Page ............................................................................................................ 45<br />
Figure 5–2: Configuration Page Left Column — Business Service ...................................................... 46<br />
Figure 5–3: Configuration Page Center Column — Business Process ................................................. 46<br />
Figure 5–4: Configuration Page Right Column — Business Operation ............................................... 47<br />
Figure 5–5: Different Configuration Names, Same Host Class ............................................................ 47<br />
Figure 5–6: Same Configuration Name, Different Host Classes ........................................................... 48<br />
Figure 5–7: Item List Box for Same-Named Configuration Items ........................................................ 48<br />
Figure 8–1: Standard <strong>Ensemble</strong> Message Body Contents in XML Format .......................................... 75<br />
Figure 8–2: HL7 Virtual Document Contents in Message Segment Format ......................................... 75<br />
Figure 8–3: The Visual Trace Page ........................................................................................................ 77<br />
Figure 9–1: The BPL Viewer Page ........................................................................................................ 88<br />
vi<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
List of Tables<br />
Table 1–1: <strong>Ensemble</strong> Management Portal Commands .......................................................................... 10<br />
Table 2–1: Management Terminology Conventions .............................................................................. 15<br />
Table 4–1: Production Status Values ..................................................................................................... 42<br />
Table 5–1: Icons on Configuration Diagram Shapes ............................................................................. 49<br />
Table 5–2: Code Values for Reply Code Actions .................................................................................. 63<br />
Table 5–3: Action Values for Reply Code Actions ................................................................................ 63<br />
Table 8–1: Options for Filter Type ........................................................................................................ 81<br />
Table 8–2: Options for Filter Class ........................................................................................................ 82<br />
Table 8–3: Fields and Properties for Message Filter Conditions ........................................................... 82<br />
Table 8–4: Comparison Operators for Message Filter Conditions ........................................................ 83<br />
Table 12–1: Default Setting Properties ................................................................................................ 110<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong><br />
vii
About This Book<br />
This book explains how to use the browser-based <strong>Ensemble</strong> Management Portal to configure, monitor, and maintain an<br />
<strong>Ensemble</strong> production. <strong>InterSystems</strong> <strong>Ensemble</strong> shares many underlying core technologies with <strong>InterSystems</strong> Caché. This<br />
book refers you to books in both documentation sets.<br />
The book begins by exploring the tasks involved in administering an <strong>Ensemble</strong> production:<br />
• “<strong>Ensemble</strong> Management Portal” introduces the login page, <strong>Ensemble</strong> home page, and main menu.<br />
• “Management Tasks” describes tasks you might want to accomplish.<br />
• “What to Manage” describes the parts of an <strong>Ensemble</strong> production.<br />
Further chapters describe major <strong>Ensemble</strong> functions you can perform using the portal:<br />
• <strong>Productions</strong><br />
• Configuration<br />
• System Monitor<br />
• Event Log<br />
• Message Browser<br />
• Business Processes<br />
• Host Monitor<br />
• Maintenance<br />
• Testing Service<br />
• EDI / HL7 Manager<br />
There is also a detailed Table of Contents.<br />
The following books provide related information:<br />
• Introducing <strong>Ensemble</strong> provides an overview of the <strong>Ensemble</strong> product, its purpose and features.<br />
• Using Dashboards with <strong>Ensemble</strong> explains how to build browser-based dashboards that display real-time data for an<br />
<strong>Ensemble</strong> production.<br />
• Using Business Rules with <strong>Ensemble</strong> explains how to define business rules that direct business process logic at decision<br />
points.<br />
• Using Workflow with <strong>Ensemble</strong> explains how to incorporate human interaction into automated business processes.<br />
For more system administration topics, consult the following guides:<br />
• Caché System Administration Guide<br />
• Caché Security Administration Guide<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 1
1<br />
<strong>Ensemble</strong> Management Portal<br />
This chapter describes how to use the browser-based <strong>Ensemble</strong> Management Portal. Developers use the portal to deploy<br />
new productions. System administrators use the portal to monitor or configure productions that are already running. Business<br />
analysts use the portal to define business rules for existing productions.<br />
The <strong>Ensemble</strong> Management Portal provides the ability to:<br />
• Start and stop a production.<br />
• View and modify production configuration.<br />
• Apply configuration changes while a production is running.<br />
• View, filter, and search for messages based on content and other criteria.<br />
• Choose Visual Trace to view message activity in visual format with full details.<br />
• View, filter, and search for message activity records in the Event Log.<br />
• Display and configure dashboards for business activity monitoring.<br />
• View the detailed data contents of messages or business metrics.<br />
• Work effectively with Electronic Data Interchange (EDI) formats such as HL7 or X12.<br />
• Edit business rules and view their activity records in the Business Rule Log.<br />
• Manage workflow, define user roles, and accept tasks.<br />
• Perform cleanup and maintenance tasks, such as purging old records or configuring login credentials.<br />
• Monitor production activities from the system viewpoint, as CPU jobs.<br />
This topic offers a quick tour of the portal as follows:<br />
• System Requirements<br />
• Starting the Portal<br />
• Login<br />
• <strong>Ensemble</strong> Home Page<br />
• Logout<br />
• Portal Command Summary<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 3
<strong>Ensemble</strong> Management Portal<br />
1.1 System Requirements<br />
The <strong>Ensemble</strong> Management Portal runs on Internet Explorer 6.0 or higher.<br />
Additionally, the Scalable Vector Graphics (SVG) Viewer 3.0 must be installed on the system that is running <strong>Ensemble</strong>.<br />
If you encounter any problems, you can double-check your installation by looking for SVG Viewer under the Adobe products<br />
installation folder on the machine where you run the <strong>Ensemble</strong> Management Portal.<br />
1.2 Starting the Portal<br />
You can start the <strong>Ensemble</strong> Management Portal in one of the following ways:<br />
• Starting from the System Management Portal<br />
• Starting from Studio<br />
• Bookmarking the [<strong>Ensemble</strong>] home page URI once you navigate to it in your browser. For example, the <strong>Ensemble</strong><br />
Management Portal home page URI in the <strong>Ensemble</strong> namespace for a default new installation is:<br />
http://localhost:57772/csp/ensemble/UtilEnsHome.csp<br />
If your system security requires it, a login page may display at some point in your navigation with a Please login prompt.<br />
See the Login section for details.<br />
1.2.1 Starting from the System Management Portal<br />
To start the <strong>Ensemble</strong> Management Portal from the System Management Portal:<br />
1.<br />
Click the <strong>Ensemble</strong> launcher in the Windows system tray and click System Management Portal to display the<br />
System Management Portal [Home] page.<br />
2. Click <strong>Ensemble</strong> Management Portal located at the bottom of the System Administration column on the left-hand side.<br />
3. Depending on the security of your system you may encounter a login page. Enter your username and password and<br />
click Login to continue to the [<strong>Ensemble</strong>] home page.<br />
1.2.2 Starting from Studio<br />
To start the <strong>Ensemble</strong> Management Portal from Studio:<br />
1. On the File menu, click Change Namespace to display the Connection Manager.<br />
2. Choose a Server and Namespace (choose an <strong>Ensemble</strong> namespace) and click OK.<br />
3. If necessary, enter the Username and Password for that namespace and server.<br />
4. Click OK to save your changes, Cancel to cancel them.<br />
5. On the Utilities menu, click <strong>Ensemble</strong> Management.<br />
6. Depending on the security of your system you may encounter a login page. Enter your username and password and<br />
click Login to continue to the [<strong>Ensemble</strong>] home page.<br />
4 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
Login<br />
1.3 Login<br />
The <strong>Ensemble</strong> Management Portal login page displays whenever you start the portal or leave the portal idle for more than<br />
15 minutes and you have more than minimal security on your instance. You may see a login page earlier in your navigation<br />
to the <strong>Ensemble</strong> Management Portal in either the System Management Portal or Studio, depending on the security configuration<br />
of your system.<br />
1.3.1 Logging into the Portal<br />
From the login page, you can log into the <strong>Ensemble</strong> Management Portal as follows:<br />
1. If you have more than one <strong>Ensemble</strong> namespace, the login page includes a Namespace list. Click the appropriate<br />
namespace from the Namespace list. If you have only one <strong>Ensemble</strong> namespace, the login page automatically selects<br />
that namespace.<br />
2. In the Username and Password fields, enter the username and password for a user account defined in the namespace.<br />
The default login for any namespace is the username _SYSTEM with a password of SYS.<br />
3. Click Login to display the [<strong>Ensemble</strong>] home page.<br />
1.3.2 Working with Login Accounts<br />
You can change the _SYSTEM password associated with an <strong>Ensemble</strong> namespace, or add new login accounts, by using the<br />
System Management Portal [Home] > [Security Management] > [Users] > [Edit User] page. For instructions, see the Creating<br />
and Editing Users section in the “Users” chapter of the Caché Security Administration Guide.<br />
1.3.3 Working with Namespaces<br />
For information about namespaces in <strong>Ensemble</strong>, see the Namespaces section in the “Production Concepts” chapter of<br />
Developing <strong>Ensemble</strong> <strong>Productions</strong>.<br />
1.3.4 Working with Security Settings<br />
For each <strong>Ensemble</strong>-enabled namespace there is a CSP application that needs to be properly configured to run the <strong>Ensemble</strong><br />
Management Portal. Normally there is nothing you need to do about this. At installation time, the CSP applications in the<br />
namespaces ENSEMBLE and ENSDEMO acquire the following authentication settings, depending on the type of security<br />
that you select at installation time.<br />
Security Level<br />
Minimal<br />
Normal<br />
Locked Down<br />
Type of Authentication<br />
Unauthenticated<br />
Password<br />
Password, Kerberos, and LDAP<br />
During installation, <strong>Ensemble</strong> identifies the level of security you select and saves this information for future use. Any time<br />
you create a new namespace, the built-in CSP applications in that namespace acquire the appropriate authentication settings<br />
for that security level.<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 5
<strong>Ensemble</strong> Management Portal<br />
1.4 <strong>Ensemble</strong> Home Page<br />
The [<strong>Ensemble</strong>] home page contains a welcome message, a menu of commands, and information about the active <strong>Ensemble</strong><br />
production.<br />
You can display the <strong>Ensemble</strong> home page in any of the following ways:<br />
• Navigate from the System Management Portal or Studio.<br />
• Click Home in any <strong>Ensemble</strong> Management Portal menu.<br />
• Click <strong>Ensemble</strong> in the navigation path of any portal page.<br />
At far right, the title bar provides a Namespace list that you can use to switch to a different <strong>Ensemble</strong> namespace. There is<br />
also a Go to list that you can use to return to previously visited pages in the <strong>Ensemble</strong> Management Portal or System<br />
Management Portal.<br />
Under the home page title bar is a display area. At the top left corner of this display is the <strong>Ensemble</strong> Management Portal<br />
menu, also referred to as the <strong>Ensemble</strong> Menu.<br />
The main display of the <strong>Ensemble</strong> home page shows tables that contain summary information about the <strong>Ensemble</strong> installation<br />
and any production activity in the active namespace. Each table on the home page provides summary statistics about some<br />
key aspect of <strong>Ensemble</strong> operations. The numbers reflect a current snapshot when you refresh the home page. If you want<br />
to see the details behind these statistics, click the title of the following tables:<br />
• <strong>Ensemble</strong> Table<br />
• Job Table<br />
• Log Table<br />
• Service Table<br />
• Process Table<br />
• Operation Table<br />
At the top of the <strong>Ensemble</strong> home page, above the [<strong>Ensemble</strong>] link, is a Home option. Click it to display the System Management<br />
Portal [Home] page.<br />
1.4.1 <strong>Ensemble</strong> Menu<br />
The <strong>Ensemble</strong> home page as well as many pages in the <strong>Ensemble</strong> Management Portal contain a menu on the left-hand side<br />
of the page, the <strong>Ensemble</strong> Menu. Click commands in this menu to navigate to the associated pages. When you do, the<br />
navigation path changes to track your place in the portal structure. In addition to Home, the <strong>Ensemble</strong> menu selections are:<br />
• <strong>Productions</strong> — lists productions known to the currently selected namespace.<br />
• System Monitor — displays real-time status of external connections and internal message queues.<br />
• Event Log — lists event log entries and allows you to enter criteria to filter the list.<br />
• Message Browser — lets you filter, search, and view the message archive for the currently running production.<br />
• Business Processes — lists all business processes in the current namespace.<br />
• Business Rules — lets you define business rules.<br />
• Business Rule Log — lets you log business rules activity.<br />
• Host Monitor — displays the status of configuration items in the current production.<br />
6 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
<strong>Ensemble</strong> Home Page<br />
• Jobs — lists the system jobs doing work for the current production.<br />
• Queues — lists the queues in use by the currently running production<br />
• Maintenance — lets you select specialized tasks from the Maintenance menu.<br />
• Dashboards — lists the available Business Activity Monitoring dashboards.<br />
• Business Metrics — summarizes the data being collected by business metric classes.<br />
• Workflow Portal — lets you manage workflow, define user roles, and accept tasks.<br />
• Testing Service — lets you send test requests to the currently running production.<br />
• EDI / HL7 Manager — lets you work with Electronic Data Interchange (EDI) formats such as HL7.<br />
1.4.2 <strong>Ensemble</strong> Table<br />
The home page <strong>Ensemble</strong> table displays the following data fields:<br />
• <strong>Ensemble</strong> Running (or other status values) — This field describes the <strong>Ensemble</strong> execution engine. The value Running<br />
appears if any <strong>Ensemble</strong> production is running. Otherwise, the field may display the values Stopped, Suspended, or<br />
Troubled. For details about these values, see the Production List section in the “<strong>Productions</strong>” chapter.<br />
• Production — The name of the running production, or name of the last production run. If you click Start Production,<br />
Stop Production, Update Production, or Recover on the home page, this is the production that you are starting, stopping,<br />
updating, or recovering.<br />
The home page Production field provides links to other portal pages as follows:<br />
– If you click the production name, the display changes to the configuration diagram for that production, where you<br />
can configure the operational settings for a production in the active namespace. See the “Configuration” chapter<br />
for details.<br />
– If you click more... to the right of the production name, the [<strong>Ensemble</strong>] > [<strong>Productions</strong>] page displays where you<br />
can select a different production to start.<br />
• Start Time — The start time of the currently running production. The Start Time field is never reset while the production<br />
is running, even if you click Reset Counter to reset other fields. If there is no production running, the Start Time field<br />
is blank.<br />
The home page <strong>Ensemble</strong> table also provides the following commands:<br />
• Start Production — Start Production displays only if no production is currently running. Click Start Production to start<br />
the production listed in the home page Production field.<br />
• Stop Production — displays only if a production is currently running. Click Stop Production to stop the production<br />
listed in the home page Production field.<br />
• Update Production — Under some conditions, when you start the portal there is a discrepancy between the production<br />
as defined in the code, and the status of the running production. Examples would be if:<br />
– A specific business host experienced an error and has died (the most likely cause)<br />
– The user changed a configuration parameter for a business host in a running production, such that the host now<br />
needs to be restarted.<br />
– A production typically opens a Terminal window, but this window was closed by a user action while the production<br />
was still running.<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 7
<strong>Ensemble</strong> Management Portal<br />
When discrepancies such as this arise, the Update Production command becomes available on the home page. Click<br />
it, to update the production and resolve the discrepancy. <strong>Ensemble</strong> displays a confirmation message. Click OK to return<br />
to the [<strong>Ensemble</strong>] home page.<br />
Alternatively, you can cause the production to update itself automatically. When you take this approach, the Update<br />
Production command never appears. To do this:<br />
– Start the Business Service Wizard. For instructions, see the Adding a Business Service to a Production section in<br />
the “Business Services” chapter of Developing <strong>Ensemble</strong> <strong>Productions</strong>. When the wizard displays, choose Other,<br />
and for the Service Class choose Ens.ProductionMonitorService. You may accept the default values for the other<br />
settings. Click OK. This adds a production monitor service to the production.<br />
– View the production configuration diagram on the [<strong>Ensemble</strong>] > [<strong>Productions</strong>] > [Configuration] page. Select the<br />
new production monitor service and configure its General Settings and Specific Settings. For details, see the<br />
“Business Service Settings” section in the “Configuration” chapter. The Call Interval setting controls how frequently,<br />
in seconds, the production monitor service checks to see if there is a discrepancy between the production<br />
as defined in the code, and the status of the running production. Each time it finds such a discrepancy, the production<br />
monitor service updates the production to resolve it.<br />
• Recover — Appears on the home page if a production has a status of Troubled due to some unexpected program error.<br />
Click Recover to clean up the troubled instance of the production so that you can run a new instance when you are<br />
ready.<br />
1.4.3 Job Table<br />
The <strong>Ensemble</strong> home page Job table displays the following data fields:<br />
• Total Jobs Running — The number of system jobs that have been allocated to pools for use by business hosts within<br />
this production. This number reflects a current snapshot when you refresh the home page.<br />
Each time a business service, business process, or business operation needs to do work, it starts a system job in which<br />
to complete its tasks. This job comes either from a private pool of jobs belonging to the business service, business<br />
process, or business operation, or (in the case of a business operation) it may come from the public actor pool for the<br />
production. When the task is done, the job returns itself to the pool of jobs from which it came.<br />
A production might need to start and stop several different jobs to complete a single requests. The details depend (in<br />
part) on whether requests are made synchronously or asynchronously. For example, if a job is required to wait, the job<br />
returns itself to its pool during the wait time to free up that resource.<br />
• Jobs OK, Jobs Inactive, Jobs of Other Status — The number of jobs with a status of OK, Inactive, or some other value,<br />
respectively.<br />
If you click the Job table title on the <strong>Ensemble</strong> home page, the [<strong>Ensemble</strong>] > [Jobs] page displays — the same result as<br />
clicking Job on the <strong>Ensemble</strong> menu.<br />
1.4.4 Log Table<br />
The home page Log table displays the following data fields:<br />
• Last Error Time — The date and time of the most recent entry in the Total Error Count.<br />
• Total Error Count — The number of error entries that have been written to the event log since this production was last<br />
started. Errors that were recorded during a previous run of this production or of any other production might still reside<br />
in the event log as entries, but are not included in the Total Error Count.<br />
8 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
<strong>Ensemble</strong> Home Page<br />
If you click the Log table title on the <strong>Ensemble</strong> home page, the [<strong>Ensemble</strong>] > [Event Log] page displays — the same result<br />
as clicking Log on the <strong>Ensemble</strong> menu.<br />
Tip:<br />
Most of the entries on the [<strong>Ensemble</strong>] > [Event Log] page are not errors. You can find the error entries by clicking<br />
on the Type column heading to sort the column. Entries labeled Error in this column are errors; they have red text<br />
and a pink background. The most recent errors appear at the top of the list.<br />
1.4.5 Service Table<br />
The home page Service table displays the following data fields:<br />
• Last Activity Time — The date and time of the most recently completed activity.<br />
• Activities Completed — A completed activity means that a business service has received a request message from outside<br />
the currently running production, and has done whatever it is designed to do as a result of receiving that request. It<br />
might be designed to invoke a business process or business operation, return a value, acknowledge receipt of the<br />
message, or something else. Whatever that is, when it is done the activity is considered complete.<br />
If you click the Service table title on the <strong>Ensemble</strong> home page, the [<strong>Ensemble</strong>] > [Host Monitor] page displays — the same<br />
result as clicking Host Monitor on the <strong>Ensemble</strong> menu. You can find the business service entries by clicking on the Type<br />
column heading to sort the column.<br />
1.4.6 Process Table<br />
The home page Process table displays the following data fields:<br />
• Last Activity Time — The date and time of the most recently completed activity.<br />
• Activities Completed — A completed activity means that a business process has received a request message from within<br />
the currently running production, and has done whatever it is designed to do as a result of receiving that request. It<br />
might be designed to fire a rule, open a file for writing, execute programming logic to decide which business operation<br />
to invoke, return a value, acknowledge receipt of the message, begin a long-running workflow sequence, or something<br />
else. Whatever that is, when it is done the activity is considered complete.<br />
• Messages In Progress — A message in progress means that a business process has received a request message from<br />
within the currently running production, and has not yet completed all of the activities that it is designed to do as a<br />
result of receiving that request.<br />
• Messages In Queues — The total number of messages that are waiting to be received by business processes in the<br />
currently running production.<br />
If you click the Process table title on the <strong>Ensemble</strong> home page, the [<strong>Ensemble</strong>] > [Host Monitor] page displays — the same<br />
result as clicking Host Monitor on the <strong>Ensemble</strong> menu. You can find the business process entries by clicking on the Type<br />
column heading to sort the column.<br />
1.4.7 Operation Table<br />
The home page Operation table displays the following data fields:<br />
• Last Activity Time — The date and time of the most recently completed activity.<br />
• Activities Completed — A completed activity means that a business operation has received a request message from<br />
within the currently running production, and has done whatever it is designed to do as a result of receiving that request.<br />
It might be designed to invoke an external application or database, open a file for writing, return a value, acknowledge<br />
receipt of the message, or something else. Whatever that is, when it is done the activity is considered complete.<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 9
<strong>Ensemble</strong> Management Portal<br />
• Messages In Progress — A message in progress means that a business operation has received a request message from<br />
within the currently running production, and has not yet completed all of the activities that it is designed to do as a<br />
result of receiving that request. If there is a message in progress, it is most likely in a retry loop. For details, see the<br />
“Messages in Progress” section in the chapter “What to Manage.”<br />
• Messages In Queues — The total number of messages that are waiting to be received by business operations in the<br />
currently running production.<br />
If you click the Operation table title on the <strong>Ensemble</strong> home page, the [<strong>Ensemble</strong>] > [Host Monitor] page displays — the same<br />
result as clicking Host Monitor on the <strong>Ensemble</strong> menu. You can find the business operation entries by clicking on the Type<br />
column heading to sort the column.<br />
1.5 Logout<br />
When you choose the Logout option from the <strong>Ensemble</strong> menu, the portal logs you out and displays a link inviting the next<br />
user to log in. To do so, click the link. To exit the portal completely, close the browser. If a production is running at this<br />
time, it continues to run while the portal is closed.<br />
1.6 Portal Command Summary<br />
The following table summarizes the major functions of the <strong>Ensemble</strong> Management Portal in alphabetical order. Each entry<br />
summarizes how to navigate the <strong>Ensemble</strong> Management Portal by choosing an <strong>Ensemble</strong> menu command, then selecting<br />
further commands.<br />
Table 1–1: <strong>Ensemble</strong> Management Portal Commands<br />
Page or<br />
Command<br />
Purpose<br />
<strong>Ensemble</strong><br />
Menu<br />
Command<br />
Additional Commands<br />
Add Operation<br />
Add a business operation to the<br />
currently selected production. You<br />
must add the operation before you<br />
can configure it.<br />
<strong>Productions</strong><br />
Click Configure, click the neutral<br />
background in the top display,<br />
then in the bottom display click<br />
Add Operation.<br />
Add Process<br />
Add a business process to the<br />
currently selected production. You<br />
must add the process before you<br />
can configure it.<br />
<strong>Productions</strong><br />
Click Configure, click the neutral<br />
background in the top display,<br />
then in the bottom display click<br />
Add Process.<br />
Add Rule<br />
Add a business rule to the currently<br />
selected production.<br />
Business Rules<br />
At the top of the page, click Create<br />
New Rule Set or Create New Routing<br />
Rule Set.<br />
Add Service<br />
Add a business service to the<br />
currently selected production. You<br />
must add the service before you can<br />
configure it.<br />
<strong>Productions</strong><br />
Click Configure, click the neutral<br />
background in the top display,<br />
then in the bottom display click<br />
Add Service.<br />
10 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
Portal Command Summary<br />
Page or<br />
Command<br />
Purpose<br />
<strong>Ensemble</strong><br />
Menu<br />
Command<br />
Additional Commands<br />
Archive Manager<br />
Periodically save older messages to<br />
a separate archive for long term<br />
storage.<br />
Maintenance<br />
Select Archive Manager from the<br />
menu.<br />
Auto-Start<br />
Configure <strong>Ensemble</strong> so that a<br />
specific production starts<br />
automatically at system startup, and<br />
stops automatically at system<br />
shutdown.<br />
Maintenance<br />
Click a production name from the<br />
Auto-Start Production list.<br />
BPL Viewer<br />
Display the BPL diagram for a<br />
business process class at top.<br />
Diagram data appears at bottom.<br />
Business<br />
Processes<br />
Click Definition next to the<br />
business process name.<br />
Business Metrics<br />
View current values for the data<br />
being collected by a business<br />
metric.<br />
Business<br />
Metrics<br />
Click Properties next to the<br />
business metric name.<br />
Business Process<br />
Instances<br />
List any current instances of a<br />
business process in the currently<br />
running production. If a business<br />
process has completed its work,<br />
there is no entry for it on this page.<br />
Business<br />
Processes<br />
Click Instances next to the<br />
business process name.<br />
Configuration<br />
View relationships between<br />
configuration items in a visual format<br />
in the top display. Add or remove<br />
configuration items from a<br />
production.<br />
<strong>Productions</strong><br />
Click Configure next to the<br />
production name. To select the<br />
production for editing, click the<br />
neutral background.<br />
Credentials<br />
Create a table of usernames and<br />
passwords that business operations<br />
can use to establish remote<br />
connections.<br />
Maintenance<br />
Select Credentials from the menu.<br />
Dashboards<br />
View a list of available Business<br />
Activity Monitoring dashboards.<br />
Dashboards<br />
Click View next to the name of the<br />
dashboard.<br />
Event Log<br />
View event log entries.<br />
Event Log<br />
Enter criteria to filter the list of<br />
entries.<br />
EDI / HL7<br />
Manager<br />
View and transform messages in<br />
Electronic Data Interchange (EDI)<br />
formats such as HL7 or X12.<br />
EDI / HL7<br />
Manager<br />
View information from the<br />
standards organization, view<br />
document structure<br />
specifications, or view and<br />
transform the contents of specific<br />
messages.<br />
Login<br />
Enter a username and password to<br />
use the portal in an <strong>Ensemble</strong><br />
namespace.<br />
—<br />
Click the <strong>Ensemble</strong> cube icon<br />
and select System Management<br />
Portal, then choose <strong>Ensemble</strong><br />
Management Portal from the list of<br />
options on the page.<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 11
<strong>Ensemble</strong> Management Portal<br />
Page or<br />
Command<br />
Purpose<br />
<strong>Ensemble</strong><br />
Menu<br />
Command<br />
Additional Commands<br />
Lookup Settings<br />
Create and configure data tables to<br />
support the Lookup and Exists utility<br />
functions<br />
Maintenance<br />
Select Lookup Settings from the<br />
menu.<br />
Message<br />
Contents<br />
View the contents of a message<br />
body.<br />
Message<br />
Browser<br />
Click Contents next to the<br />
message, in the Message<br />
Browser and other pages.<br />
Message Details<br />
View the entire contents of a<br />
message, including message header<br />
and message body.<br />
Message<br />
Browser<br />
Click Details next to the message,<br />
in the Message Browser and<br />
other pages.<br />
Message Queue<br />
Contents<br />
List the messages on the currently<br />
selected queue. Select a message<br />
in the top display, to reveal Message<br />
Details at bottom.<br />
Queues<br />
Click Contents next to the<br />
message queue.<br />
Monitor<br />
(connections)<br />
View continually updated status of<br />
external connections and internal<br />
message queues.<br />
System Monitor<br />
—<br />
Monitor (graph)<br />
Monitor the level of activity for<br />
currently running business services,<br />
processes, or operations.<br />
Host Monitor<br />
Click History next to the name of<br />
the configuration item.<br />
Monitor (table)<br />
Monitor the operational status of<br />
currently running business services,<br />
processes, or operations.<br />
Host Monitor<br />
Click Instances next to the name<br />
of the configuration item.<br />
Operation<br />
Settings<br />
Edit the operational settings of a<br />
business operation in the currently<br />
selected production.<br />
<strong>Productions</strong><br />
Click Configure, then select a<br />
Business Operation in the top<br />
display.<br />
Process Settings<br />
Edit the operational settings of a<br />
business process in the currently<br />
selected production.<br />
<strong>Productions</strong><br />
Click Configure, then select a<br />
Business Process in the top<br />
display.<br />
Production<br />
Settings<br />
Edit the operational settings of the<br />
currently selected production.<br />
<strong>Productions</strong><br />
Click Configure, then click the<br />
neutral background in the top<br />
display.<br />
Purge<br />
Management<br />
Data<br />
Purge event log entries, the<br />
message warehouse, business<br />
process records, and the business<br />
rule log.<br />
Maintenance<br />
Select Purge Management Data<br />
from the menu.<br />
Rule Log<br />
View business rule activity records<br />
for the currently running production.<br />
Business Rule<br />
Log<br />
Enter criteria to filter the list of<br />
rules.<br />
Service Settings<br />
Edit the operational settings of a<br />
business service in the currently<br />
selected production.<br />
<strong>Productions</strong><br />
Click Configure, then select a<br />
Business Service in the top<br />
display.<br />
Start Production<br />
Start a production. View the results<br />
of this request.<br />
<strong>Productions</strong><br />
Click Start next to the production<br />
name.<br />
12 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
Portal Command Summary<br />
Page or<br />
Command<br />
Purpose<br />
<strong>Ensemble</strong><br />
Menu<br />
Command<br />
Additional Commands<br />
Stop Production<br />
Stop a production. View the results<br />
of this request.<br />
<strong>Productions</strong><br />
Click Stop next to the production<br />
name.<br />
Suspended<br />
Messages<br />
Resend messages that have<br />
entered a Suspended state, for<br />
example because of a<br />
communication failure. If you have<br />
corrected the failure, you can now<br />
resend these messages.<br />
Maintenance<br />
Select Suspended Messages from<br />
the menu.<br />
System Monitor<br />
View continually updated status of<br />
external connections and internal<br />
message queues.<br />
System Monitor<br />
—<br />
Testing Service<br />
Enter parameter values for a test<br />
request message. View the results<br />
of a test request message.<br />
Testing Service<br />
Select a business service,<br />
process, or operation; select a<br />
request; click OK, enter<br />
parameter values, click Save.<br />
Visual Trace<br />
Represent message history visually.<br />
Trace how and when messages<br />
traveled between production items.<br />
Enter criteria in the bottom display,<br />
to filter messages at top.<br />
Message<br />
Browser<br />
Click Trace next to the message,<br />
in the Message Browser and<br />
other pages.<br />
Workflow Portal<br />
Manage workflow, define user roles,<br />
and accept tasks.<br />
Workflow Portal<br />
Select an option from the menu:<br />
My Tasks, Workflow Roles, Workflow<br />
Users, Task Browser, or Worklist<br />
Browser.<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 13
2<br />
Management Tasks<br />
This chapter describes the tasks required to manage an <strong>Ensemble</strong> production. Each of the following sections defines tasks<br />
and explains how to complete them using the <strong>Ensemble</strong> Management Portal:<br />
• Adding Items<br />
• Configuring Items<br />
• Finding Items<br />
• Monitoring Items<br />
• Purging Items<br />
• Starting and Stopping Items<br />
• Storing Items<br />
• Testing Items<br />
• Viewing Items<br />
If you cannot find the task you have in mind, try the following table. This table lists the conventions that this chapter uses<br />
to identify tasks with many alternate names.<br />
Table 2–1: Management Terminology Conventions<br />
Task<br />
Add<br />
Configure<br />
Find<br />
Monitor<br />
Purge<br />
Start<br />
Stop<br />
Store<br />
Test<br />
Alternate Names for Similar or Related Tasks<br />
Configure, create, and register.<br />
Add, change, create, delete, determine, edit, modify, register, remove, and set.<br />
Filter and search. Items you might want to find include messages, business processes, and<br />
jobs.<br />
Administer, examine, manage, observe, study, and view. Items you might want to monitor<br />
include dashboards, messages, event log entries, external connections, and operational<br />
statistics.<br />
Archive, clean, delete, destroy, maintain, and remove.<br />
Access, boot, execute, launch, login, reboot, run, send, and startup.<br />
Close, exit, halt, and shutdown.<br />
Archive, populate, save.<br />
Debug and develop. Related activities include solution delivery and quality assurance.<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 15
Management Tasks<br />
Task<br />
View<br />
Alternate Names for Similar or Related Tasks<br />
Display, examine, find, identify, monitor, search, and study. Items you might want to view<br />
include messages, event log entries, external connections, and operational statistics.<br />
If you want to find management tasks organized by what is being managed, more topics are also available in the next<br />
chapter, “What to Manage.”<br />
2.1 Adding Items<br />
When you add a configuration item — a business service, business process, or business operation — the underlying host<br />
class already exists. The class code has been written and compiled using the Studio tool. When you add a configuration<br />
item to a production, you assign parameters to the class and give that set of parameters a name. In effect, you are telling<br />
the production you want to use this already-existing class in a particular way.<br />
If you do not see the task you want in this section, try the Configuring Items section.<br />
Add...<br />
Business metric<br />
Business operation<br />
Business process<br />
Business rule<br />
Business service<br />
Credentials for remote login<br />
Data tables for lookups<br />
Production<br />
Routing rule<br />
Sequence of Portal Commands<br />
<strong>Productions</strong>, Configure, Production, Add Service<br />
<strong>Productions</strong>, Configure, Production, Add Operation<br />
<strong>Productions</strong>, Configure, Production, Add Process<br />
Business Rules, Create New Rule Set<br />
<strong>Productions</strong>, Configure, Production, Add Service<br />
Maintenance, Credentials<br />
Maintenance, Lookup Settings<br />
<strong>Productions</strong>, Create New Production<br />
Business Rules, Create New Routing Rule Set<br />
2.2 Configuring Items<br />
Configuration tasks do not create classes or code. They determine the context in which code executes while the production<br />
is running. When you configure a production, the classes already exist — the code has been written and compiled. By<br />
configuring the production, you are telling the production how you want it to use these already-existing classes.<br />
The “configure” task includes other tasks that you might want to perform, such as add, change, create, delete, determine,<br />
edit, modify, register, remove, or set. Many of these tasks are included in the following table. If you do not see the task<br />
you want in this section, try the Adding Items section.<br />
Configure...<br />
Business metric settings<br />
Business operation settings<br />
Business process settings<br />
Sequence of Portal Commands<br />
<strong>Productions</strong>, Configure, Business Service<br />
<strong>Productions</strong>, Configure, Business Operation<br />
<strong>Productions</strong>, Configure, Business Process<br />
16 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
Finding Items<br />
Configure...<br />
Business rule definition<br />
Business service settings<br />
Production settings<br />
Remote connections<br />
Routing rule definition<br />
Workflow<br />
Sequence of Portal Commands<br />
Business Rules, Select a Rule, Edit<br />
<strong>Productions</strong>, Configure, Business Service<br />
<strong>Productions</strong>, Configure, Production<br />
Maintenance, Credentials<br />
Business Rules, Select a Rule, Edit<br />
Workflow Portal<br />
2.3 Finding Items<br />
The “find” task includes other tasks that you might want to perform, such as browse, filter, or search. If you do not see<br />
the task you want in this section, try the Viewing Items section.<br />
Find...<br />
Filter the event log for the currently running production by entering search criteria<br />
such as time of day or session identifier.<br />
Filter the rule log for the currently running production by entering search criteria such<br />
as reason or rule version.<br />
Filter the message log for the currently running production by entering search criteria<br />
such as time of day or session identifier.<br />
Sequence of Portal<br />
Commands<br />
Event Log<br />
Business Rule Log<br />
Message Browser<br />
2.4 Monitoring Items<br />
Viewing is essentially a passive activity; you glance at a display to get a snapshot of the data at one point in time. Monitoring<br />
tasks require more participation; you watch a display and interpret changes in the display between one time and another.<br />
Monitoring usually involves some form of observing and noting changes over time to determine whether there were any<br />
changes between time A and time B, and if so, what caused them. Monitoring does not need to be continuous; samples can<br />
be taken at regular or random intervals.<br />
The “monitor” task includes other tasks that you might want to perform, such as administer, examine, manage, observe,<br />
study, and view. If you do not see the task you want in this section, try the Finding Items section.<br />
Monitor...<br />
Currently running business processes<br />
Currently running business services, business processes, and<br />
business operations<br />
Dashboard activity<br />
Real-time status of external connections, event log, and message<br />
queues<br />
Sequence of Portal Commands<br />
Business Processes, Instances<br />
Host Monitor<br />
Dashboards, View<br />
System Monitor<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 17
Management Tasks<br />
Monitor...<br />
Message queues<br />
Messages on a specific queue<br />
Messages in a Suspended state<br />
System jobs, in detail<br />
Sequence of Portal Commands<br />
Queues<br />
Queues, Contents<br />
Maintenance, Suspended Messages<br />
Jobs<br />
This book describe how to monitor an <strong>Ensemble</strong> production using the <strong>Ensemble</strong> Management Portal. Other types of monitoring<br />
are available, and other books describe them. For example:<br />
• To read about a command-line interface that you can use to retrieve basic status information from a running production<br />
via a Telnet connection or command-line script, see the section “TCP Status Service” in the “TCP Text Line Inbound<br />
Adapter” chapter of Using TCP Adapters with <strong>Ensemble</strong>.<br />
• Windows Management Instrumentation (WMI) is a feature of the Windows operating system that provides a standardized<br />
way of collecting management information. It allows users and programmers to access management information from<br />
the operating system and other applications in a variety of ways, including scripts, programming languages, and management<br />
tools and applications. WMI is the Microsoft implementation of the Web-Based Enterprise Management<br />
(WBEM) standard from the Distributed Management Task Force (DMTF).<br />
The <strong>InterSystems</strong> implementation of WMI signals an <strong>Ensemble</strong>_LogEvent each time an <strong>Ensemble</strong> business host posts<br />
an alert to the <strong>Ensemble</strong> Event Log. To set up WMI monitoring for <strong>InterSystems</strong> products, see “Monitoring Caché<br />
Using WMI” in the Caché Monitoring Guide.<br />
2.5 Purging Items<br />
The “purge” task includes other tasks that you might want to perform, such as archive, clean, delete, destroy, maintain,<br />
or remove. If you do not see the task you want in this section, try the section “Monitoring Items.”<br />
Purge...<br />
Any runtime data: event log, rule log, I/O log, messages, business<br />
process instances<br />
Event log entries only<br />
Business process instance data<br />
Older messages, while saving them to a separate archive for long<br />
term storage<br />
Production configuration data<br />
Sequence of Portal Commands<br />
Maintenance, Purge Management Data<br />
Event Log, Purge<br />
Business Processes, Instances, Purge<br />
Maintenance, Archive Manager<br />
<strong>Productions</strong>, Configure, Production<br />
2.6 Starting and Stopping Items<br />
The “start” task includes other tasks that you might want to perform, such as access, boot, execute, launch, login, reboot,<br />
run, send, or startup. The “stopping” task includes other tasks that you might want to perform, such as close, exit, halt,<br />
log out, or shut down. If you do not see the task you want in this section, try the Monitoring Items section.<br />
18 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
Storing Items<br />
Start or Stop...<br />
Configure <strong>Ensemble</strong> so that a specific production starts<br />
automatically at system startup, and stops automatically at<br />
system shutdown.<br />
Log into the <strong>Ensemble</strong> Management Portal.<br />
Log out of the portal, leaving the browser open for the next<br />
administrator to log in.<br />
Resend messages that have entered a Suspended state.<br />
Start a message archive operation.<br />
Start a production.<br />
Start or stop a business service on a schedule.<br />
Start or stop a business operation on a schedule.<br />
Start or stop a business process on a schedule.<br />
Start the <strong>Ensemble</strong> Management Portal.<br />
Stop a production.<br />
Sequence of Portal Commands<br />
Maintenance, Auto-Start Production<br />
Login<br />
Logout<br />
Maintenance, Suspended Messages<br />
Maintenance, Archive Manager<br />
<strong>Productions</strong>, Start<br />
<strong>Productions</strong>, Configure, Business Service<br />
<strong>Productions</strong>, Configure, Business Operation<br />
<strong>Productions</strong>, Configure, Business Process<br />
Login<br />
<strong>Productions</strong>, Stop<br />
2.7 Storing Items<br />
The “store” task includes archiving messages and other important data. The <strong>Ensemble</strong> persistent message store operates<br />
automatically, but there are optional tasks that you might consider.<br />
Store...<br />
Periodically save older messages to a separate archive for long term<br />
storage.<br />
Create and configure data tables to support the Lookup and Exists utility<br />
functions.<br />
Sequence of Portal Commands<br />
Maintenance, Archive Manager<br />
Maintenance, Lookup Settings<br />
2.8 Testing Items<br />
The “test” task includes other tasks that you might want to perform, such as debug, deliver, or develop. If you do not see<br />
the task you want in this section, try the Monitoring Items section.<br />
Test...<br />
Messages in Electronic Data Interchange (EDI) formats such<br />
as HL7 or X12<br />
<strong>Productions</strong>, by sending request messages and receiving<br />
response messages<br />
Sequence of Portal Commands<br />
EDI / HL7 Manager, Message Viewer<br />
or Testing Service<br />
Testing Service<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 19
Management Tasks<br />
2.9 Viewing Items<br />
Viewing is a passive activity; you glance at a display to get a snapshot of the data at one point in time. Monitoring tasks<br />
require more participation; you watch a display and interpret changes in the display between one time and another. Monitoring<br />
usually involves some form of observing and noting changes over time to determine whether there were any changes<br />
between time A and time B, and if so, what caused them. Monitoring does not need to be continuous; samples can be taken<br />
at regular or random intervals.<br />
The “view” task includes other tasks that you might want to perform, such as display, examine, find, identify, monitor,<br />
search, or study. If you do not see the task you want in this section, try the Monitoring Items section.<br />
View...<br />
BPL diagram of a business process class<br />
Data being collected by a business metric<br />
Business operation settings<br />
Business process settings<br />
Business processes, in various ways<br />
Business rule definition<br />
Business rule activity records<br />
Business service settings<br />
Credentials for remote connections<br />
Event log entries<br />
I/O archive entries<br />
Lookup table<br />
Message body contents<br />
Message header and body contents<br />
Messages of all kinds<br />
Production settings<br />
Routing rule definition<br />
Software version information<br />
Statistics about all productions<br />
Statistics about the currently running production<br />
Suspended messages<br />
Visual trace of the delivery of a message, from original<br />
source all the way through to the final destination<br />
Sequence of Portal Commands<br />
Business Processes, Definition<br />
Business Metrics, Properties<br />
<strong>Productions</strong>, Configure, Operation<br />
<strong>Productions</strong>, Configure, Process<br />
Business Processes<br />
Business Rules, Select a Rule, View<br />
Business Rule Log<br />
<strong>Productions</strong>, Configure, Service<br />
Maintenance, Credentials<br />
Event Log<br />
See “Working with the I/O Archive”<br />
Maintenance, Lookup Settings<br />
Message Browser, Contents<br />
Message Browser, Details<br />
Message Browser<br />
<strong>Productions</strong>, Configure, Production<br />
Business Rules, Select a Rule, View<br />
Maintenance<br />
<strong>Productions</strong><br />
Home<br />
Maintenance, Suspended Messages<br />
Message Browser, Trace<br />
20 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
3<br />
What to Manage<br />
Each topic in this section describes an aspect of an <strong>Ensemble</strong> production that you can manage in some way, and explains<br />
how to accomplish this using the <strong>Ensemble</strong> Management Portal. Topics include:<br />
• Working with <strong>Productions</strong><br />
• Working with Host Classes<br />
• Working with Configuration Items<br />
• Working with Credentials<br />
• Working with Dashboards<br />
• Working with Business Rules<br />
• Working with the Event Log<br />
• Working with the I/O Archive<br />
• Working with Jobs<br />
• Working with Messages<br />
• Working with Queues<br />
• Working with Sessions<br />
• Working with Workflow<br />
3.1 Working with <strong>Productions</strong><br />
A production is the unit of delivery for development projects based on <strong>Ensemble</strong>. A production is a package of host classes<br />
and configuration items that solves a specific integration problem for an enterprise.<br />
A production has many settings that you can configure using the <strong>Ensemble</strong> Management Portal. These settings affect the<br />
behavior of the production, as well as the various configuration items within the production — services, processes, and<br />
operations. While the production is running, there are a variety of monitoring and diagnostic tasks you can perform. Any<br />
changes you make to a production while it is running are applied immediately, without requiring you to stop and restart<br />
the production.<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 21
What to Manage<br />
Production Task<br />
Purge old records for the currently running production. Resend<br />
suspended messages, set user credentials, and configure automatic<br />
startup.<br />
Configure a production and its associated business services, business<br />
processes, and business operations.<br />
Configure <strong>Ensemble</strong> so that a specific production starts automatically<br />
at system startup and stops automatically at system shutdown.<br />
Create a new production.<br />
Delete a production.<br />
Establish credentials for remote connections.<br />
Monitor dashboard activity.<br />
Purge records from the event log, message warehouse, business<br />
process archives, and business rule log.<br />
Quickly view the real-time status of incoming and outgoing<br />
connections for the production.<br />
Remove a production from a namespace, or remove a business<br />
service, business process, or business operation from a production.<br />
Start a production.<br />
Stop a production.<br />
Test a production.<br />
View a list of configuration items that have been instantiated in the<br />
currently running production.<br />
View statistics about all productions.<br />
View statistics about instances of currently running business services,<br />
business processes, and business operations.<br />
Sequence of Portal Commands<br />
Maintenance<br />
<strong>Productions</strong>, Configure<br />
Maintenance, Auto-Start Production<br />
<strong>Productions</strong>, Create New Production<br />
<strong>Productions</strong>, Delete Production<br />
Maintenance, Credentials<br />
Dashboards, View<br />
Maintenance, Purge Management<br />
Data<br />
System Monitor<br />
<strong>Productions</strong>, Configure, Production<br />
<strong>Productions</strong>, Start<br />
<strong>Productions</strong>, Stop<br />
Testing Service<br />
Host Monitor<br />
<strong>Productions</strong><br />
Host Monitor, Instances<br />
3.2 Working with Host Classes<br />
An <strong>Ensemble</strong> host class is executable source code. Class developers use the Studio tool, the BPL Editor, or a text editor to<br />
create, view, edit, and compile host classes. No class can be created or changed from the <strong>Ensemble</strong> Management Portal,<br />
but you do choose them from the portal.<br />
Every host class extends Ens.Host, an <strong>Ensemble</strong> class that determines general characteristics for classes that operate as<br />
members of a production. Every host class is one of three types, all of which inherit from Ens.Host:<br />
• Business service class — Instances of the Ens.BusinessService class accept requests from entities outside <strong>Ensemble</strong><br />
and relay them to host classes inside <strong>Ensemble</strong> for processing and fulfillment. A business service class corresponds to<br />
a single, well-defined action that an external entity needs to perform. This action enters an <strong>Ensemble</strong> production in the<br />
form of a request to the business service. The business service generates whatever activity is needed to satisfy this<br />
request. It invokes various lower-level host classes — business processes and business operations — and it controls<br />
the logic of these invocations. When all of its internal processing is complete, a business service formulates and returns<br />
22 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
Working with Configuration Items<br />
a response to the outside entity’s original request. Some requests do not require a response; if this is the case, none is<br />
returned.<br />
• Business process class — Instances of the Ens.BusinessProcess class accept requests from host classes inside<br />
<strong>Ensemble</strong> — business services or business processes — and either process the requests or relay them to other host<br />
classes inside <strong>Ensemble</strong> for processing. A business process class corresponds to a single, well-defined business task<br />
that needs to be performed. The business process generates whatever activity is needed to complete this task. It invokes<br />
various lower-level host classes — business processes or business operations — and it controls the logic of these<br />
invocations. When all of its internal processing is complete, a business process formulates and returns a response to<br />
the original request, if a response is needed. Some requests do not require a response; if this is the case, none is returned.<br />
• Business operation class — Instances of the Ens.BusinessOperation class accept requests from host classes inside<br />
<strong>Ensemble</strong> — business services or business processes — and either process the requests or relay them to entities outside<br />
<strong>Ensemble</strong> for processing. A business operation class consists of one or more methods, each of which corresponds to<br />
a single, well-defined external or internal operation that needs to be performed, such as retrieving a specific piece of<br />
data or making a specific type of calculation. When its internal processing is complete, a business process formulates<br />
and returns a response to the original request, if a response is needed. Some requests do not require a response; if this<br />
is the case, none is returned. By convention, a business operation is an extremely specific operation that contain very<br />
little logic and does what is requested of it without calling further operations or branching in any way. When the design<br />
of the production demands logic, this is contained in a higher-level business processes.<br />
A host class must be compiled and loaded before the corresponding business host — business service, business process,<br />
or business operation — can be added to the production. Once the business host is added to the production, it has configurable<br />
settings that can be adjusted using the display on the <strong>Ensemble</strong> Management Portal [<strong>Ensemble</strong>] > [<strong>Productions</strong>] > [Configuration]<br />
page.<br />
A host class determines how a configuration item can be configured, by publishing its configurable properties in a class<br />
parameter called SETTINGS. Any property listed in the SETTINGS parameter for a host class automatically appears in the<br />
display on the [<strong>Ensemble</strong>] > [<strong>Productions</strong>] > [Configuration] page, whenever an item of that host class is selected for configuration.<br />
You can edit and save values on the [<strong>Ensemble</strong>] > [<strong>Productions</strong>] > [Configuration] page without editing or recompiling<br />
the host class itself. Any changes you make are applied immediately, without requiring you to stop and restart a running<br />
production. The same is true of production-wide properties defined in the production class and exposed for configuration<br />
by using the SETTINGS class parameter in the production class.<br />
A host class is sometimes called a business class. Either term is appropriate.<br />
3.3 Working with Configuration Items<br />
An <strong>Ensemble</strong> configuration item is any business service, business process, or business operation within an <strong>Ensemble</strong> production.<br />
Every configuration item extends the class Ens.Item, and consists of a name, a reference to a specific host class,<br />
and a group of operational settings that determine how the host class behaves when it is a member of a running production.<br />
There is a clear difference between <strong>Ensemble</strong> configuration items and <strong>Ensemble</strong> host classes:<br />
• An host class is executable source code.<br />
• An configuration item is a specialized configuration of a host class.<br />
A configuration item is always associated with a specific production. It may resemble or duplicate items in other productions.<br />
Each production is an entirely closed universe that does not use configuration items from other productions.<br />
An <strong>Ensemble</strong> production contains the following types of configuration item:<br />
• Business services (includes business metrics)<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 23
What to Manage<br />
• Business processes (includes routing processes)<br />
• Business operations (includes workflow operations)<br />
You can use the diagram on the [<strong>Ensemble</strong>] > [<strong>Productions</strong>] > [Configuration] page to create, view, edit, and save configuration<br />
items. You can configure items that reference the same host class; each such item has a different name. All configuration<br />
items with the same host class have the same operational settings, but each item of that class can have different values for<br />
those settings, so each item is unique.<br />
After you define the configuration settings for a production using the <strong>Ensemble</strong> Management Portal and save your settings,<br />
the portal outputs the settings to the production class in the form of an embedded XML excerpt. You can view this XML<br />
directly; look for the production class in <strong>Ensemble</strong> Studio, on the <strong>Productions</strong> tab. The intention is for you to use the<br />
<strong>Ensemble</strong> Management Portal to generate the XML initially, and there is no need to edit the production class directly.<br />
However, the XML is there, if you ever want to view it, or export it from Studio.<br />
You can further define configuration items as described in the following sections:<br />
• Scheduling Configuration Items<br />
• Assigning Configuration Items to Categories<br />
3.3.1 Business Services<br />
A business service accepts requests from sources outside the <strong>Ensemble</strong> production. If designed to do so, it also returns a<br />
response to the requestor. A request that enters a business service from outside <strong>Ensemble</strong> is known as a primary request.<br />
This type of request instigates a tracking mechanism called a session, which remains open until all of the activities prompted<br />
by the primary request are completed. The session has an identifier that is used to mark all of the subsequent, internal<br />
messages that <strong>Ensemble</strong> generates to fulfill the primary request.<br />
Service Task<br />
Add a business service to a production.<br />
Remove a business service from a production.<br />
View or configure operational settings for a business service.<br />
Sequence of Portal Commands<br />
<strong>Productions</strong>, Configure, Production, Add<br />
Service<br />
<strong>Productions</strong>, Configure, Production<br />
<strong>Productions</strong>, Configure, Service<br />
A business metric is a special type of business service used to monitor business activity and display the resulting statistics<br />
on dashboards. Business metrics have their own host class, Ens.BusinessMetric, which inherits from the business service<br />
host class. To use a business metric in a production, you must add and configure it as for any other business service, using<br />
the tasks described in the preceding table. However, there are additional details for business metrics only. See the “Business<br />
Metrics” chapter in Using Dashboards with <strong>Ensemble</strong>.<br />
3.3.2 Business Processes<br />
A business process accepts requests from business services and from other business processes. If designed to do so, it also<br />
returns a response to the requestor. A business process communicates only with other <strong>Ensemble</strong> configuration items.<br />
Business processes contain programmatic logic that describes what must happen inside <strong>Ensemble</strong> to fulfill a specific portion<br />
of a request that (at some point) originated from outside <strong>Ensemble</strong>. The logic within a business process is both applicationindependent<br />
and format-independent, and is described entirely in <strong>Ensemble</strong> terms.<br />
Process Task<br />
View the BPL diagram of a business process class.<br />
Sequence of Portal Commands<br />
Business Processes, Definition<br />
24 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
Working with Configuration Items<br />
Process Task<br />
Add a business process to a production.<br />
Define a business rule for a BPL business process.<br />
Monitor instances of currently running business processes<br />
in detail.<br />
Purge business process records.<br />
Remove a business process from a production.<br />
View business processes and their host classes in various<br />
ways.<br />
View or configure operational settings for a business<br />
process.<br />
Sequence of Portal Commands<br />
<strong>Productions</strong>, Configure, Production, Add Process<br />
Business Rules, Create New Rule Set<br />
Business Processes, Instances<br />
Business Processes, Instances, Purge<br />
<strong>Productions</strong>, Configure, Production<br />
Business Processes<br />
<strong>Productions</strong>, Configure, Process<br />
A routing process is a special type of business process used to direct routing rules for the <strong>Ensemble</strong> message routing engine.<br />
Routing Task<br />
Invoke a routing rule from a routing process.<br />
Define a routing rule set for a routing business process.<br />
Sequence of Portal Commands<br />
<strong>Productions</strong>, Configure, Process<br />
Business Rules, Create New Routing Rule Set<br />
To configure routing processes for use with the routing engine, reference the instructions in the <strong>Ensemble</strong> HL7 Version 2<br />
Development Guide or the <strong>Ensemble</strong> HL7 Version 3 Development Guide.<br />
3.3.3 Business Operations<br />
A business operation formulates and send a request to a target outside the <strong>Ensemble</strong> production. Business processes accept<br />
requests from business services and from business processes, and if designed to do so, also return a response to the requestor.<br />
Operation Task<br />
Add a business operation to a production.<br />
Establish credentials for remote connections to external<br />
systems.<br />
Remove a business operation from a production.<br />
View or configure operational settings for a business<br />
operation.<br />
Sequence of Portal Commands<br />
<strong>Productions</strong>, Configure, Production, Add<br />
Operation<br />
Maintenance, Credentials<br />
<strong>Productions</strong>, Configure, Production<br />
<strong>Productions</strong>, Configure, Operation<br />
A workflow operation is a special type of business operation used to direct requests for human workflow to the <strong>Ensemble</strong><br />
Workflow Engine rather than to an external application or database. Workflow operations have their own host class,<br />
EnsLib.Workflow.Operation, which inherits from the business operation host class. To use a workflow operation in a production,<br />
you must add and configure it as for any other business operation, using the tasks described in the preceding table. However,<br />
there are additional details for workflow operations only. See the book Using Workflow with <strong>Ensemble</strong>.<br />
3.3.4 Scheduling Configuration Items<br />
The default scheduling for configuration items is for them to run whenever the production is running. However, a finer<br />
control is possible. Not only can you enable and disable configuration items, but the [<strong>Ensemble</strong>] > [<strong>Productions</strong>] > [Configuration]<br />
page also offers a Schedule setting for each configuration item. This is an optional command string that schedules<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 25
What to Manage<br />
the item to be stopped and started at specific times and on specific days of the week, month, or year. When it is time to<br />
start, if the item is enabled, the scheduler starts it; when it is time to stop, if the item is running, the scheduler stops it.<br />
The Schedule string is a comma-separated list of event specifications. Each event specification has the following format:<br />
action:YYYY-MM-DDThh:mm:ss<br />
Where each item in the event specification, from left to right, has the described values:<br />
Item<br />
action<br />
:<br />
YYYY-MM-DD<br />
Possible Values<br />
START or STOP indicates the desired action<br />
Required separator<br />
Either:<br />
• YYYY is the year as 4 numerals<br />
• MM is the month as 2 numerals<br />
• DD is the day of the month as 2 numerals<br />
• Any of these fields may be the single character * (asterisk) indicating all years,<br />
all months, or all days<br />
Or:<br />
• YYYY is the word WEEK<br />
• MM is the specific occurrence of the day of the week (indicated by DD) in the<br />
month (01 = first occurrence of the specific day of the week in the month, 02 =<br />
second occurrence in the month, etc.)<br />
• DD is a specific day of the week (00 = Sunday, 01 = Monday, etc.)<br />
• MM may be * for all occurrences and DD may be * for all days<br />
Once a field is specified as *, all fields to the left of it are also assumed to be *.Thus,<br />
if the DD value is *, the MM value is treated as * even if it has a specific numeric<br />
value. Similarly, if MM is *, YYYY is treated as *.<br />
T<br />
hh:mm:ss<br />
,<br />
Required separator<br />
Hour, minute, and second<br />
Use the comma separator only if there is another event specification after the current<br />
one. Do not use it at the end of the Schedule string.<br />
If your schedule contains recurring events, the Schedule setting requires both START and STOP actions. If your schedule<br />
setting is an absolute one time event, then you need only use the appropriate single START or STOP action. In most cases,<br />
Schedule strings should contain both a START and a STOP action.<br />
Some examples of Schedule strings follow:<br />
• Start the configuration item every day at 8 a.m. and stop it every day at 5 p.m.<br />
START:*-*-*T08:00:00,STOP:*-*-*T17:00:00<br />
• Stop every year on January 2 at 7 a.m. and start again on January 3 at 7 a.m.<br />
STOP:*-01–02T07:00:00,START:*-01-03T07:00:00<br />
26 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
Working with Configuration Items<br />
• Start every month on the second day of the month at 8 a.m. and stop every month on the tenth day of the month at 8:30<br />
p.m.<br />
START:*-*-02T08:00:00,STOP:*-*-10T20:30:00<br />
• Stop every Sunday at 10 a.m. and start every Monday at 8:30 a.m.<br />
STOP:WEEK-*-00T10:00:00,START:WEEK-*-01T08:30:00<br />
• Start every third Tuesday at 9 a.m. and stop every third Friday at 4 p.m.<br />
START:WEEK-03-02T09:00:00,STOP:WEEK-03-05T16:00:00<br />
• Stop on December 31, 2010 just before midnight.<br />
STOP:2010-12-31T23:59:59<br />
• Start on January 3, 2011 at 6:45 a.m.<br />
START:2011-01-03T06:45:00<br />
• The following two strings are equivalent: Start every day at 2 a.m.<br />
START:*-*-*T02:00:00<br />
START:WEEK-*-*T02:00:00<br />
See the Ens.ScheduleHandler entry in the Class Reference for more information.<br />
The following sections provide details on Daylight Saving Time considerations with using the Schedule configuration setting<br />
and also the intended use and limitations of the setting.<br />
3.3.4.1 Scheduling and Daylight Saving Time<br />
When daylight saving time (DST) begins, clocks skip an hour that day, usually from 2:00 a.m. to 3:00 a.m. Any item you<br />
have scheduled that falls into that nonexisting hour takes place at the beginning (which is also the end) of that hour. For<br />
example, on the day DST begins, an event scheduled to take place at 2:15 a.m. takes place at 2:00 a.m. (which is also 3:00<br />
a.m.).<br />
When DST ends, an hour of the day repeats, usually from 1:00 a.m. to 2:00 a.m. Any item you have scheduled that falls in<br />
that repeated hour takes place only once. Whether the event takes place on the first occurrence of the scheduled time or the<br />
second occurrence in the repeated hour depends on the operating system, but it only takes place once. For example, on a<br />
Windows system on the day DST ends, an event scheduled to take place at 1:15 a.m. takes place at the second occurrence<br />
of 1:15 a.m.<br />
3.3.4.2 Intended Use and Limitations of the Schedule Configuration Setting<br />
The Schedule setting starts and stops production business hosts according to a schedule; it is not a task scheduler. The<br />
schedule string defines a square wave in time declaring during what time intervals the item should be running, in between<br />
which it should be not be running. <strong>Ensemble</strong> cannot prevent scheduled transitions from being interrupted or superseded by<br />
other production events.<br />
The scheduler wakes up periodically (it sets its own alarm clock for when any scheduled item next expects a transition)<br />
and attempts to start or stop any items that are not currently in the expected state according to their schedule strings. It runs<br />
the UpdateProduction() method of the Ens.ScheduleHandler class and checks what event it needs to schedule next.<br />
There are two general classes of things that can prevent transitions from taking place as the schedule string indicates:<br />
• One is if the scheduler is unable to cause the intended state change; that is the UpdateProduction() method fails to<br />
affect the relevant items.<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 27
What to Manage<br />
For example, an item could be in a Read timeout or some other busy state that lasts longer than the Update timeout.<br />
Another example is a configuration item the scheduler starts cannot be stopped by the scheduler if the item is in the<br />
middle of a synchronous call. The configuration item must wait for a response to the call before the scheduler stops<br />
it. See the “Working with Messages” section.<br />
• The other is if the scheduler itself is prevented from waking up at the intended time. Examples of conditions that could<br />
cause this: the CPU is busy, a queue builds up of the alarm clock messages for the scheduler, the scheduler is itself<br />
disabled or crashed, the production is down, etc. The scheduler is not guaranteed to wake up during any particular<br />
interval, and when it does wake up it only looks at the intended state for the current moment, not at any history of when<br />
it should have woken up.<br />
Use of the schedule setting is not intended or designed as an event signaling device. It is intended to accommodate planned<br />
outages and scheduled intervals of activity or inactivity. If you have events that you must trigger at a particular time or as<br />
soon as possible thereafter, <strong>Ensemble</strong> offers better alternatives:<br />
• You can configure your business service to use an inbound adapter with the implemented OnTask() method where<br />
you call the business service. <strong>Ensemble</strong> provides classes for many types of inbound adapters. See the Ens.InboundAdapter<br />
entry in the Class Reference and the books in the <strong>Ensemble</strong> Adapter Guides set for details.<br />
• If you do not want to use an adapter, you can call the business service programmatically and schedule it to run using<br />
the [Home] > [Task Manager] page (/csp/sys/op/UtilSysTaskHome.csp) in the Management Portal. This gives you finer<br />
control in situations such as the system being down at 1:00 a.m.<br />
The recommended approach is to configure the business service with Pool Size = 0 and then use the Task Manager to<br />
launch a task that calls CreateBusinessService on it and invokes ProcessInput() on the resulting service instance<br />
object. The advantage of calling a business service this way is that you call it at the time you want and it runs only<br />
once. If <strong>Ensemble</strong> happens to be down at that time, your task can register an error. See the following sections for<br />
details:<br />
– “Using the Task Manager” section of the “<strong>Managing</strong> Caché” chapter of the Caché System Administration Guide<br />
– “Invoking a Business Service Directly” section of the “Business Services” chapter of Developing <strong>Ensemble</strong><br />
<strong>Productions</strong><br />
3.3.5 Assigning Configuration Items to Categories<br />
The [<strong>Ensemble</strong>] > [<strong>Productions</strong>] > [Configuration] page offers a Category field for each configuration item. This is an optional<br />
text label that you can use to visually group configuration items within the production diagram.<br />
Once you have provided Category values for configuration items, when you are viewing the production configuration diagram<br />
you can right-click on the background of the diagram. Choose Show Category and a category name from the context menu.<br />
The diagram changes to reveal only those configuration items that match the Category name you have just selected. The<br />
diagram displays the Category name at the top left of the diagram, below the production name.<br />
Alternatively, when you choose Show Category, select All (the first option) to reveal all configuration items, regardless of<br />
category.<br />
Each category name is case-sensitive, and it may contain spaces. You may assign a configuration item to more than one<br />
category by providing a comma-separated list of category values in the Category field. Do not use leading or trailing spaces<br />
around these commas, as these are interpreted as characters within the label and can prevent what would otherwise be a<br />
proper match. Use:<br />
TEST,My Test Category,MINE<br />
Not:<br />
TEST, My Test Category , MINE<br />
28 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
Working with Credentials<br />
3.4 Working with Credentials<br />
Some remote systems require a username and password to log into that system. A username-and-password pair is a login<br />
credential.<br />
<strong>Ensemble</strong> permits you to store login credentials in a centralized table that can be viewed and edited only by users with<br />
access to the <strong>Ensemble</strong> Management Portal. This table, called the Credentials table, provides ease of management and<br />
protects login data from unauthorized access. Users can edit the Credentials table only by logging into the <strong>Ensemble</strong><br />
Management Portal and choosing the Maintenance option, then Credentials.<br />
Each username-and-password pair in the Credentials table has an ID. When configuring an inbound or outbound adapter<br />
using the <strong>Ensemble</strong> Management Portal, you can enter this ID in place of the username or password that is required to log<br />
into the remote system.<br />
An adapter that uses credentials logs itself into a remote system as follows: Using the ID as a key into the Credentials table,<br />
it gets the username and password from the table and sends them to the remote system with a request to log in.<br />
This means that system administrator can log into the <strong>Ensemble</strong> Management Portal to change the username and password<br />
values for an ID, without disturbing any other data in the production configuration.<br />
When using the <strong>Ensemble</strong> Management Portal, you can confirm that an adapter uses credentials as follows: Open the configuration<br />
display on the [<strong>Ensemble</strong>] > [<strong>Productions</strong>] page. Choose a business host to configure. In the Specific Settings<br />
column, look for a Credentials field. If the Credentials field is not present, the adapter does not permit credentials to be<br />
configured for it.<br />
If the Credentials field is present in the configuration display, it must contain an ID from the Credentials table. If there is<br />
no appropriate entry in the Credentials table, you must create it, and enter its ID into the Credentials field for the adapter to<br />
work.<br />
Credentials Task<br />
Establish credentials for remote connections to external systems.<br />
Configure the remote connection settings for a business service.<br />
Configure the remote connection settings for a business operation.<br />
Sequence of Portal Commands<br />
Maintenance, Credentials<br />
<strong>Productions</strong>, Configure, Service<br />
<strong>Productions</strong>, Configure, Operation<br />
3.5 Working with Dashboards<br />
<strong>Ensemble</strong> supports business activity monitoring (BAM) by enabling developers to provide browser-based “corporate<br />
dashboards” that display graphical, real-time information about an <strong>Ensemble</strong> production. The following <strong>Ensemble</strong> elements<br />
support dashboards:<br />
• Business metrics are specialized business service classes that gather or otherwise calculate specific measured data<br />
called metrics. After you add a business metric to a production, it is automatically triggered to calculate the values of<br />
its properties at the time interval specified by its Call Interval configuration setting. These calculations can take a variety<br />
of forms, involving calls to business operations, federated databases, the <strong>Ensemble</strong> storage layer, or any arbitrary source<br />
code contained within the business metric class.<br />
• Dashboards are Web pages that provide a real-time, graphical display of metric values. Each dashboard presents one<br />
or more meters; that is, graphical elements that display the current value of a specific metric property within a specific<br />
business metric class. <strong>Ensemble</strong> provides a complete set of built-in meters that includes speedometers, odometers, fuel<br />
gauges, light bars, traffic lights, indicator lights, line charts, and bar charts. A production can also include custom<br />
meters.<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 29
What to Manage<br />
Each dashboard is associated with a specific production, displays values from that production, and can be viewed “live”<br />
from the <strong>Ensemble</strong> Management Portal whenever that production is running. The following tasks are required to configure<br />
and run dashboards:<br />
Dashboard Task<br />
Add a business metric to a production.<br />
Configure the Call Interval for a business metric.<br />
View current values of data being collected by a business<br />
metric.<br />
Monitor dashboard activity.<br />
Sequence of Portal Commands<br />
<strong>Productions</strong>, Configure, Production, Add<br />
Service<br />
<strong>Productions</strong>, Configure, Business Service<br />
Business Metrics, Properties<br />
Dashboards, View<br />
For full details, see the book Using Dashboards with <strong>Ensemble</strong>.<br />
3.5.1 Dashboards<br />
The [<strong>Ensemble</strong>] > [Dashboards] page displays when you click Dashboards in the <strong>Ensemble</strong> Management Portal main menu.<br />
This topic briefly introduces the page. For full details, see Using Dashboards with <strong>Ensemble</strong>.<br />
3.5.1.1 Dashboard List<br />
At left, the [<strong>Ensemble</strong>] > [Dashboards] page reveals the same menu as on the [<strong>Ensemble</strong>] home page. You can click on<br />
selections in this menu to navigate to other portal pages.<br />
To the right and below the title bar, the Dashboard page displays a table called Available Dashboards. This table lists all<br />
the dashboards associated with productions in the currently active namespace.<br />
To the right of each entry in the Available Dashboards table are two commands:<br />
• Click View to display the dashboard. If you click on one of the meters in the top half of the screen, the bottom half<br />
displays detailed information about that meter.<br />
• Click View (no frames) to display the dashboard without the Dashboard page title bar (above) or the information frame<br />
(below).<br />
3.5.1.2 Dashboard Display<br />
When you click View to the right of an entry in the Dashboard page table, the display changes to the [<strong>Ensemble</strong>] > [Dashboards]<br />
> [Dashboard] page, which displays the specific dashboard you selected. Graphical meters display in the top half of the<br />
screen, according to the dashboard definition.<br />
30 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
Working with Dashboards<br />
Figure 3–1: Dashboard Page with an Active Dashboard<br />
If the production that includes a dashboard is not currently running, the dashboard is dimmed (inactive). To activate an<br />
inactive dashboard, stop the currently running production (if any) and start the production whose dashboard you want to<br />
view. Then, return to the [<strong>Ensemble</strong>] > [Dashboards] page and click View next to the dashboard name.<br />
Note:<br />
For dashboards to be able to refresh the page, you must make sure Internet Explorer has the Java Virtual Machine<br />
(JVM) enabled. You can verify this by selecting Tools, Internet Options, and clicking the Advanced tab to look<br />
at Java options.<br />
If you right-click on a meter in an active dashboard display, a context menu displays. The following menu options are<br />
available:<br />
• Drill Down — If the production developer has enabled the Drill Down feature for this metric, this selection displays a<br />
browser page that contains additional information related to the metric. When you are done viewing this information,<br />
click the browser Back command to return to the [<strong>Ensemble</strong>] > [Dashboards] > [Dashboard] page.<br />
• Zoom — Choose a zoom factor for the dashboard.<br />
• Change Chart Scale — A chart can be defined so that each data series has its own scale for the y-axis. When this is the<br />
case, you can click on the chart in the dashboard to select it, then right-click and choose Change Chart Scale to display<br />
the y-axis that corresponds to the next data series in the chart. Repeat to walk through all the possibilities for the chart.<br />
• Find, Find Again — Search for a text string on the dashboard.<br />
• View Source — Display the SVG code that displays the diagram.<br />
• About SVG Viewer — Display version and copyright information about the SVG Viewer used to render the dashboard.<br />
3.5.2 Business Metrics<br />
The [<strong>Ensemble</strong>] > [Business Metrics] page allows you to view the values contained within active business metrics in the<br />
currently running production. The Business Metrics page is useful to developers and system administrators solving problems<br />
encountered with the system. When a production is running smoothly, the intended display page for business metrics is the<br />
[<strong>Ensemble</strong>] > [Dashboards] > [Dashboard] page.<br />
The Business Metrics page displays when you click Business Metrics in the <strong>Ensemble</strong> menu. At left, the Business Metrics<br />
page reveals the same menu as on the [<strong>Ensemble</strong>] home page. You can click on selections in this menu to navigate to other<br />
portal pages.<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 31
What to Manage<br />
At far right, the title bar provides a Namespace drop-down list that you can use to switch to a different <strong>Ensemble</strong> namespace.<br />
There is also a Go to drop-down list that you can use to return to previously visited pages in the <strong>Ensemble</strong> Management<br />
Portal or System Management Portal.<br />
To the right and below the title bar, the Business Metrics page displays a table that lists all the business metrics associated<br />
with productions in the currently active namespace.<br />
To the right of each entry in the Business Metrics table is a Properties command to display the [<strong>Ensemble</strong>] > [Business<br />
Metrics] > [Business Metric Properties] page. Below the title bar and to the right of the main menu, a line of text displays:<br />
• Contents of Business Metric Cache for myMetric:<br />
Where myMetric is the business metric whose Properties command you clicked on the previous page.<br />
Beneath this introductory text is a table, with the following columns from left to right:<br />
• Instance — In the typical case, there is a single instance for the business metric, so the Instance column contains the<br />
number 1, and can be ignored.<br />
If the business metric defines multiple instances, the Instance column lists the name of the instance that contains the<br />
values shown in columns to the right. The table lists instances in the order in which the business metric class code<br />
defines them.<br />
• Property — The name of a business metric property. The table lists each property in the business metric class in<br />
alphabetical order by property name. If the business metric defines multiple instances, the table lists the properties for<br />
the first instance, then the properties for the second instance, and so on.<br />
• Value — The current value of the property. The values shown reside in the business metric cache. If a property has no<br />
value or is an empty text string, the cell is blank.<br />
If the values are actively changing, the display refreshes itself at the time interval set by the business metric Call Interval.<br />
You can also click the Refresh command in the browser to update the values in the display.<br />
• History — In the typical case, the property is single-valued, so this cell is blank.<br />
If the property is a multidimensional property with an automatic history, the History column lists a history of values<br />
that the property has held over time. This comma-separated list that begins with the oldest cached value at the top left<br />
of the History cell for that property; the History reads sequentially from left to right, and from top to bottom.<br />
The bottom right value in the History cell for a property is the same as the current Value of that property.<br />
3.6 Working with Business Rules<br />
Each business rule is an independently defined piece of logic that can be invoked from a BPL business process or routing<br />
business process. The details of any business rule are defined by editing it using the graphical Business Rule Editor. The<br />
tasks in the following table are associated with business rules.<br />
Business Rule Task<br />
Add a new rule set definition.<br />
Add a new routing rule set definition.<br />
Edit an existing rule definition.<br />
Invoke a routing rule.<br />
Purge the business rule log.<br />
Sequence of Portal Commands<br />
Business Rules, Create New Rule Set<br />
Business Rules, Create New Routing Rule Set<br />
Business Rules, Select a Rule, Edit<br />
<strong>Productions</strong>, Configure, Process<br />
Maintenance, Purge Management Data<br />
32 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
Working with the Event Log<br />
Business Rule Task<br />
View a record of rule activity for the currently running<br />
production.<br />
View an existing rule definition.<br />
Sequence of Portal Commands<br />
Business Rule Log<br />
Business Rules, Select a Rule, Edit<br />
For full details, see the book Using Business Rules with <strong>Ensemble</strong>.<br />
3.6.1 Business Rules Pages<br />
The [<strong>Ensemble</strong>] > [Business Rules] page displays a list of the business rules defined in the currently running production. A<br />
business rule determines how a business process will behave at a specific decision point.<br />
A rule definition is entirely separate from business process code. Rule definitions are stored in the <strong>Ensemble</strong> database and<br />
are evaluated at runtime. Modifications to rule definitions are simply updates to the database and can be instantly applied<br />
to a production that is still running.<br />
The developer of a BPL business process identifies a decision point by naming the business rule that will make the decision<br />
at this point. A user at the enterprise, typically a business analyst, defines the criteria that the rule will use to make the<br />
decision. The tool for creating and modifying this list of criteria is the Business Rule Editor.<br />
At runtime, the business process invokes the rule, the rule returns an answer to the business process, and the business process<br />
continues execution based on this answer. Meanwhile, <strong>Ensemble</strong> creates an audit entry that contains information about the<br />
business process that fired the rule, what value was returned, and why the answer was chosen. The Business Rule Log lets<br />
you view this information.<br />
You can display the Business Rules page from the <strong>Ensemble</strong> Management Portal as follows:<br />
• From the <strong>Ensemble</strong> menu click Business Rules to display the [<strong>Ensemble</strong>] > [Business Rules] > [Business Rule Editor]<br />
page.<br />
• Click Rule List at the top of the page.<br />
For details about the Business Rules page, Business Rule Editor, and Business Rule Log, see the “<strong>Managing</strong> Business<br />
Rules” chapter in Using Business Rules with <strong>Ensemble</strong>.<br />
In addition to regular business rules, message routing rules are also available. See the <strong>Ensemble</strong> HL7 Version 2 Development<br />
Guide or the <strong>Ensemble</strong> HL7 Version 3 Development Guide.<br />
3.7 Working with the Event Log<br />
<strong>Ensemble</strong> generates event log entries to record the following items:<br />
• Normal occurrences in the life cycle of any production, such as starting or stopping the production.<br />
• Abnormal occurrences, such as errors or warnings, that a specific production records in the event log.<br />
• Occurrences associated with debugging a production, such as traces or asserts.<br />
Viewing the event log is a way to “take the pulse” of a production by scanning the event log entries that it produces while<br />
it runs. The following options are available.<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 33
What to Manage<br />
Event Log Task<br />
Filter event log entries for the currently running production by entering<br />
search criteria such as time of day or session identifier.<br />
Purge event log entries.<br />
Quickly view the real-time status of the event log.<br />
View the event log entries generated by the currently running production.<br />
Sequence of Portal Commands<br />
Event Log, Filter<br />
Event Log, Purge<br />
System Monitor<br />
Event Log<br />
Not all errors or activities should necessarily generate an event log entry. Developers of custom code determine which<br />
abnormal occurrences a host class will write to the event log. Once a production is running, only those events can be<br />
monitored. It is up to the developer to choose which occurrences will be of interest to enterprise system administrators.<br />
The only way to cause the production to report additional new types of event is to rewrite its host classes using <strong>Ensemble</strong><br />
Studio. However, you can use the <strong>Ensemble</strong> Management Portal to control what you see in the event log in another way:<br />
You can filter the event log to exclude all entries except those of special interest to you.<br />
3.8 Working with the I/O Archive<br />
All business services and business operations have a configuration setting called Archive IO. If True, the adapter associated<br />
with this business host logs in the <strong>Ensemble</strong> I/O archive each input and output communication it shares with the external<br />
system.<br />
I/O Task<br />
Configure the Archive IO setting for a business operation.<br />
Configure the Archive IO setting for a business service.<br />
Sequence of Portal Commands<br />
<strong>Productions</strong>, Configure, Business Operation<br />
<strong>Productions</strong>, Configure, Business Service<br />
To retrieve information from the <strong>Ensemble</strong> I/O archive, you must execute an SQL query, as follows:<br />
1. Start the System Management Portal.<br />
2. Navigate to the [Home] > [SQL] page.<br />
3. Choose the namespace where you want to execute the query.<br />
4. Click Execute SQL Statement. The [Home] > [SQL] > [Execute SQL Query] page displays.<br />
5. In the SQL Query field, type:<br />
SELECT * FROM Ens_Util.IOLog<br />
Where the table name identifies Ens.Util.IOLog or one of its subclasses. The choice of subclass depends on the type of<br />
data. Options include Ens.Util.IOLogFile, Ens.Util.IOLogObj, Ens.Util.IOLogStream and Ens.Util.IOLogXMLObj.<br />
6. Click Execute Query. The results display in the bottom half of the page.<br />
7. If there are no results, or if the results do not match your expectations, check to see that the Archive IO option is enabled<br />
for the business service or business operation that you want to investigate.<br />
34 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
Working with Jobs<br />
3.9 Working with Jobs<br />
Jobs are CPU processes that host the work done by an <strong>Ensemble</strong> production. This terminology is intended to avoid confusion<br />
between CPU processes (“jobs”) and business processes (“processes”). From a low-level, system viewpoint, an <strong>Ensemble</strong><br />
production consists almost entirely of jobs waiting to wake up to perform work. When a request arrives on the queue of a<br />
business host, the item claims a job from its pool of available jobs. The job then hosts the work that needs to be done. If<br />
no job is available in the pool of jobs for that business host, it must wait for a job to become available, so that it can do the<br />
work. The job returns to the pool after the work is done, or whenever the next task is to wait for something to happen. A<br />
job always returns to the same pool from which it came.<br />
The choice of Actor Pool Size for the production, and Pool Size for each business host, determines how many jobs are<br />
available to perform which types of work for the production. These numbers are an essential part of the production design<br />
and are unlikely to need adjustment once the production is deployed live. Larger numbers are not necessarily helpful; most<br />
pool sizes are best set to either 0 or 1. For a full discussion of appropriate values for different types of production, see the<br />
Pool Size section in the “Production Concepts” chapter of Developing <strong>Ensemble</strong> <strong>Productions</strong>.<br />
The following portal commands are available to configure and monitor job use in a production.<br />
Job Task<br />
Configure the number of jobs allocated to a specific business<br />
operation within a production.<br />
Configure the number of jobs allocated to a specific business<br />
process within a production.<br />
Configure the number of jobs allocated to a specific business<br />
service within a production.<br />
Configure the number of jobs allocated to be shared publicly<br />
by business processes.<br />
Monitor status of system jobs associated with various<br />
production activities.<br />
Sequence of Portal Commands<br />
<strong>Productions</strong>, Configure, Business Operation<br />
<strong>Productions</strong>, Configure, Business Process<br />
<strong>Productions</strong>, Configure, Business Service<br />
<strong>Productions</strong>, Configure, Production<br />
Jobs<br />
3.9.1 Jobs Page<br />
The [<strong>Ensemble</strong>] > [Jobs] page allows you to match each <strong>Ensemble</strong> configuration item with the underlying system job(s)<br />
that are hosting its activities. The Jobs page lists the system Job ID number for each configuration item. You can use this<br />
information to look up detailed information about the job in the System Management Portal. The same Process ID number<br />
appears in the left-most column of the System Management Portal [Home] > [Processes] page.<br />
To display the Jobs page, click Jobs in the <strong>Ensemble</strong> Management Portal main menu.<br />
There is no menu on the Jobs page. You can return to the home page by clicking [<strong>Ensemble</strong>] in the title bar navigation path.<br />
At far right, the title bar provides a Namespace list that you can use to switch to a different <strong>Ensemble</strong> namespace. There is<br />
also a Go to list that you can use to return to previously visited pages in the <strong>Ensemble</strong> Management Portal or System<br />
Management Portal.<br />
Under the Jobs page title bar is a table called Current <strong>Ensemble</strong> Processes. Each row of the table lists one of the system<br />
jobs that is doing work for the currently running <strong>Ensemble</strong> production. Each row has the following columns:<br />
• Job — The system process ID for the job.<br />
• Configuration Name — This is the name assigned to the business host during configuration using the [<strong>Ensemble</strong>] ><br />
[<strong>Productions</strong>] configuration display. It may be different from the host class name.<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 35
What to Manage<br />
• Mode — The execution mode for the job: Background or Foreground. This is the value you set when defining the host<br />
using the [<strong>Ensemble</strong>] > [<strong>Productions</strong>] configuration display. If you selected the Foreground check box, the Mode field<br />
reads Foreground; otherwise it reads Background.<br />
• Status — Dequeuing, Running, Error, or Quiescent. Most jobs run in less than 1 millisecond, so it is almost impossible<br />
to see an entry on the Jobs page with a Running status, unless it is stuck in an infinite loop of some kind. All jobs<br />
should become Quiescent during production shutdown, and if one does not do so, there may be a problem with it. In<br />
all other cases entries on the Jobs page have a Status value of Dequeuing.<br />
<strong>Ensemble</strong> may terminate a job, in which case its last known status prior to termination appears in the Status column,<br />
and the background color of the row is red. This is called a “dead” job.<br />
• Detail — This string contains information relating to the Status field. If the status of the job is Running, the Detail field<br />
is blank. If the status of the job is Dequeuing or Quiescent, the Detail field lists the following information:<br />
– The current queue name (for public queues such as Ens.Actor)<br />
– The job ID (for private queues associated with specific business hosts).<br />
• Active Message — If there is currently a message from this job, this column displays it.<br />
• State — Dead, Starting, or Alive.<br />
In each row, the background color indicates the job’s status, as follows:<br />
• Blue — A startup job.<br />
• (Neutral) — Jobs that are Dequeuing, Running, or Quiescent.<br />
• Pink — A job that has Error status but is not dead.<br />
• Red — A dead job.<br />
3.10 Working with Messages<br />
All communication that passes between configuration items in <strong>Ensemble</strong> is accomplished using messages. A message has<br />
a header, which is the same for all messages and contains data fields that help route the message through the system. A<br />
message also contains a body, which provides different fields depending on the message contents.<br />
Every message class is one of two types: request or response. There may be request classes that do not have a corresponding<br />
response class defined, but every response is (conceptually) paired with a request. Any request class may be synchronous<br />
(waits for a response) or asynchronous (does not wait) in its implementation. These decisions are made by the class developer<br />
and they are not configurable once the production is complete.<br />
<strong>Ensemble</strong> offers some built-in message classes to handle various types of message content. Other message classes may be<br />
defined by class developers to fulfill a specific production need. Without exception, all instantiated messages have complete<br />
tracking information stored in the <strong>Ensemble</strong> message warehouse, and this information is available at all times to the<br />
<strong>Ensemble</strong> Management Portal pages devoted to messages.<br />
Since messages are the primary “currency” of action and communication within <strong>Ensemble</strong>, there are a large number of<br />
management tasks associated with messages. The following table lists what you can do to work with messages using the<br />
<strong>Ensemble</strong> Management Portal.<br />
Message Task<br />
Filter and view messages in various ways.<br />
Sequence of Portal Commands<br />
Message Browser<br />
36 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
Working with Messages<br />
Message Task<br />
Filter the message log for the currently running production by<br />
entering search criteria such as time of day or session identifier.<br />
View the contents of two messages and compare them, side by<br />
side.<br />
View message body contents.<br />
View message header and body contents for a message.<br />
Periodically save older messages to a separate archive for long<br />
term storage.<br />
Resend selected messages.<br />
View messages that have entered a Suspended state. Resend<br />
selected messages.<br />
View a visual trace of the delivery of a message, from original<br />
source all the way through to fulfillment (or failure).<br />
Test HL7 or X12 messages, by viewing and transforming them.<br />
Test a production by sending request messages and receiving<br />
responses.<br />
Sequence of Portal Commands<br />
Message Browser, Filter<br />
Message Browser, Compare Messages<br />
Message Browser, Contents<br />
Message Browser, Details<br />
Maintenance, Archive Manager<br />
Message Browser, Resend Messages<br />
Maintenance, Suspended Messages<br />
Message Browser, Trace<br />
EDI / HL7 Manager, Message Viewer<br />
Testing Service<br />
3.10.1 Message Status<br />
When you trace messages using the <strong>Ensemble</strong> Management Portal, you see a visual representation of each message as it<br />
travels from one configuration item to the next. The message object can have various status values that indicate its rotation<br />
through a normal life cycle. These status values are visible on most <strong>Ensemble</strong> Management Portal message pages: Created,<br />
Queued, Delivered, Deferred, Completed, Discarded, or Suspended. These status values apply to instances of request and<br />
response messages individually. Request-response “pairs” are not tracked together, because a request might be repeated<br />
several times before it is successfully delivered, some requests have an optional response that can be ignored if it does not<br />
arrive, some responses can be deferred for later delivery, and some requests have no response defined for them at all.<br />
Message Status<br />
Completed<br />
Created<br />
Deferred<br />
Delivered<br />
Discarded<br />
Queued<br />
Suspended<br />
Meaning<br />
The intended recipient has received the message and has finished processing the<br />
message.<br />
The message is in transit between sender and target.<br />
The message response has been deferred by the business operation for later delivery.<br />
The intended recipient has received the message.<br />
The message is a response that reached its destination after the timeout period for the<br />
corresponding request expired.<br />
The message is on a queue.<br />
The message was suspended by the business operation after failing to reach its external<br />
destination, or by an administrator from the Instances display on the [<strong>Ensemble</strong>] > [Host<br />
Monitor] page. In either case, you can resend the message from the [<strong>Ensemble</strong>] ><br />
[Maintenance] > [Suspended] page or by clicking the Resend Messages command on the<br />
[<strong>Ensemble</strong>] > [Messages] page.<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 37
What to Manage<br />
3.10.2 Messages in Progress<br />
It is not always possible for a message to be immediately Delivered. Most host classes provide some level of recovery from<br />
initial obstacles that a message might encounter. Obstacles to delivery might arise for any number of reasons, including<br />
circumstances outside the <strong>Ensemble</strong> system (an external server goes down) or the need to wait for a decision from another<br />
business process or human participant (workflow). The different message status values help you to track what is happening<br />
to message that are not yet Delivered. Details are as follows:<br />
• In many cases, business operations are designed to retry a message a given number of times, at given intervals, before<br />
declaring the message failed or announcing a timeout. Many outbound adapters offer configurable parameters that<br />
control the time interval and number of retries to make. If this is the case, you can set these values when you configure<br />
Specific Settings for the business operation using the <strong>Ensemble</strong> Management Portal, without changing any classes in<br />
Studio.<br />
• Some business operations are designed to set the status of any failed messages to Suspended. Alternatively, you can<br />
manually suspend a message from the Instances display on the [<strong>Ensemble</strong>] > [Host Monitor] page. In either case,<br />
<strong>Ensemble</strong> automatically places all Suspended messages on a special queue. A system administrator can find these<br />
message on the [<strong>Ensemble</strong>] > [Maintenance] > [Suspended] page. An inspection of the routing information or contents<br />
of a specific message might reveal the reason why the message failed. For example, if the problem is that an external<br />
destination went out of service, a change can be made to reestablish communication with that server. Then the Suspended<br />
messages can be resent to the external server by clicking a command on the [<strong>Ensemble</strong>] > [Maintenance] > [Suspended]<br />
page or by clicking Resend Messages on the [<strong>Ensemble</strong>] > [Messages] page.<br />
• There is a message status that does not indicate either delivery or failure; that is the Deferred status. A business operation<br />
can set the status of a response message to Deferred before it exits. The Deferred response can be picked up and sent<br />
back to the original requester by any business host in the production. Between the time when the business operation<br />
defers the response, and when the response is finally sent, the response message has a status of Deferred. The sender<br />
of the original message is unaware of the fact that the message was Deferred. If the original call was synchronous, the<br />
call does not return to the sender until the deferred response is sent.<br />
3.11 Working with Queues<br />
In the <strong>Ensemble</strong> context, a queue is simply a list of message objects waiting to be processed by a business host — a business<br />
service, a business process, or a business operation — within a production. No queue setup is required. <strong>Ensemble</strong> manages<br />
all queues automatically; see the Queues section in the “<strong>Ensemble</strong> Messages” chapter of Developing <strong>Ensemble</strong> <strong>Productions</strong><br />
for details.<br />
The following portal commands are available to monitor queue status.<br />
Queue Task<br />
List the messages on a specific queue. Provide a facility for viewing these<br />
messages in detail.<br />
Monitor the activities of a message queue in detail.<br />
Quickly view the real-time status of message queues.<br />
Sequence of Portal Commands<br />
Queues, Contents<br />
Queues<br />
System Monitor<br />
Queues offer one of the most useful means of quickly spotting a problem in the system. When there is buildup on a queue,<br />
it usually means something needs to be repaired. For example:<br />
38 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
Working with Sessions<br />
• If a service or operation queue is suddenly longer, this means that messages created by <strong>Ensemble</strong> suddenly cannot get<br />
out of the system, or that messages from outside the system suddenly cannot get in. An external connection may be<br />
down, or there may be a peak-hour effect that is affecting throughput on your external connections.<br />
• If a service or operation queue is consistently long, this means that messages created by <strong>Ensemble</strong> consistently cannot<br />
get out of the system, or that messages from outside the system consistently cannot get in. The pool of jobs for that<br />
service or operation may need to be larger, or you may need to reconfigure the external connection to overcome an<br />
entrenched issue there.<br />
• If the Ens.Actor queue is suddenly longer, a business process may have experienced an error that has caused it to become<br />
“stuck” in some way.<br />
• If the Ens.Actor queue is consistently long, the actor pool for the production may need to be larger.<br />
• If many queues have a consistently large buildup, there may be a general capacity issue on the host computer, the<br />
<strong>Ensemble</strong> production (in its role as a CSP application) may need more resources, or the underlying Caché installation<br />
may need to be tuned. For suggestions about how to allow enough capacity, see the Caché System Administration<br />
Guide and Using Caché Server Pages (CSP). In general, however, you will be able to keep queues moving with the<br />
simpler adjustments listed in this topic.<br />
Usually the most important information that the portal provides about queues is the destination, or target, of any message<br />
that has been too long on a queue. In general, when a queued message is not being sent, it is because it cannot get to its<br />
target. This means there is something wrong with the target of the queue (its associated service or operation, for example).<br />
If you can find out what is causing a problem with the target, when you solve that problem, the queue buildup generally<br />
disappears.<br />
3.12 Working with Sessions<br />
A session defines the boundaries of a primary request — one that enters <strong>Ensemble</strong> from an external source. A session exists<br />
from the moment the primary request enters <strong>Ensemble</strong>, usually via a business service. The session continues to exist while<br />
the production generates internal requests and responses to process the primary request. When the last internal activity<br />
prompted by the primary request is done, the session is over. If the primary request required a response, the final act that<br />
the production performs within the session is to formulate and send this response.<br />
Session Task<br />
Filter the message log for the currently running production to find all<br />
messages associated with a specific session.<br />
View a visual trace of a primary request message, from its original, external<br />
source all the way to fulfillment (or failure).<br />
Sequence of Portal Commands<br />
Message Browser<br />
Message Browser, Visual Trace<br />
3.13 Working with Workflow<br />
Workflow makes it possible to incorporate human interaction into automated business processes. Typical uses of workflow<br />
within the enterprise might include order entry, order fulfillment, contract approval, and help desk activities.<br />
A workflow management system automates the distribution of tasks among users. Tasks are distributed according to a<br />
predefined distribution strategy. This convention makes task distribution more efficient and task execution more accountable.<br />
<strong>Ensemble</strong> has a built-in Workflow Engine that supports a variety of default and custom distribution strategies for tasks and<br />
users.<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 39
What to Manage<br />
Workflow Task<br />
Manage workflow, define user roles, and accept tasks.<br />
Sequence of Portal Commands<br />
Workflow Portal<br />
3.13.1 Workflow Portal<br />
The browser-based user interface for managing workflow, defining user roles, and accepting tasks is called the Workflow<br />
Portal. You can access it from the <strong>Ensemble</strong> menu, by selecting the Workflow Portal option. When you do this, the<br />
[<strong>Ensemble</strong> Workflow] page displays. From here you can access any of the following pages:<br />
• [<strong>Ensemble</strong> Workflow] > [Workflow Tasks] — Accept and complete tasks, or relinquish tasks to other users.<br />
• [<strong>Ensemble</strong> Workflow] > [Workflow Roles] — Sort workflow users into workflow roles.<br />
• [<strong>Ensemble</strong> Workflow] > [Workflow Users] — Identify workflow users.<br />
• [<strong>Ensemble</strong> Workflow] > [Task Browser] — View a history of task activity, assign tasks, edit or cancel tasks.<br />
• [<strong>Ensemble</strong> Workflow] > [Worklist Browser] — View a list of all uncompleted tasks.<br />
For full details, see Using Workflow with <strong>Ensemble</strong>.<br />
40 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
4<br />
<strong>Productions</strong><br />
The [<strong>Ensemble</strong>] > [<strong>Productions</strong>] page contains a table with information about all the <strong>Ensemble</strong> productions that are defined<br />
in the current namespace. Only one of these productions can run at a time. If you try to start one, and another is already<br />
started, a warning message displays and nothing changes. You can stop the running production and start another one from<br />
the <strong>Ensemble</strong> <strong>Productions</strong> page. You can also use the page to navigate to a specific production in the list to configure. You<br />
can display the <strong>Productions</strong> page from various locations in the <strong>Ensemble</strong> Management Portal, as follows:<br />
• From the <strong>Ensemble</strong> Menu — Click <strong>Productions</strong><br />
• From the <strong>Ensemble</strong> Table on the <strong>Ensemble</strong> Home Page — Click more...<br />
At far right, the title bar provides a Namespace list that you can use to switch to a different <strong>Ensemble</strong> namespace. There is<br />
also a Go to list that you can use to return to previously visited pages in the <strong>Ensemble</strong> Management Portal or System<br />
Management Portal.<br />
Under the <strong>Productions</strong> page title bar is a display area. At the top left corner of this display is the <strong>Ensemble</strong> Management<br />
Portal menu. This is the same menu as on the home page. You can click on selections in this menu to navigate to other<br />
portal pages.<br />
Above the Production List are two commands:<br />
• Click Create New Production to start the production wizards that create new productions. For instructions, see the<br />
“Creating a New Production” chapter in Developing <strong>Ensemble</strong> <strong>Productions</strong>.<br />
• Click Delete Production to remove an existing production from the namespace.<br />
From this page, you can choose which production to delete from a list of existing productions. As an added safeguard,<br />
you can click View Configuration Details before confirming the delete to verify you are deleting the appropriate production.<br />
4.1 Production List<br />
Under the <strong>Productions</strong> page title bar and to the right of the menu is a table that lists all the productions associated with the<br />
currently active namespace. You can begin typing any string in the Filter box to narrow down the list of productions. Each<br />
row is devoted to one production and has the following columns of information:<br />
• Production — The name of the production.<br />
• Status — The status of the production — Running, Suspended, Troubled, or Stopped — as described in the following<br />
table.<br />
• Last Start Time — The date and time when the production was last started.<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 41
<strong>Productions</strong><br />
• Last Stop Time — The date and time when the production was last stopped.<br />
Table 4–1: Production Status Values<br />
Status<br />
Value<br />
Running<br />
Stopped<br />
Suspended<br />
Troubled<br />
Row Color<br />
Light green<br />
Light gray<br />
Orange<br />
Light gray<br />
Meaning<br />
When a production has been started and is operating normally, it has a status<br />
of Running. This is an acceptable state.<br />
A production acquires a status of Stopped when, at the end of the shutdown<br />
sequence, all of its queues are free of synchronous messages. This is an<br />
acceptable state.<br />
A production acquires the Suspended status if, at the end of the shutdown<br />
sequence, some queues still contain synchronous messages, waiting for a<br />
response. Depending on how the production has been designed, this may or<br />
may not indicate a problem.<br />
You may start a Suspended production. Starting the production again may<br />
permit the waiting messages to be processed. However, if you start the Suspended<br />
production, and more messages arrive while those in front of them in<br />
the queue cannot be resolved, queues may simply continue to fill. In that case<br />
you must investigate to discover why the incoming messages never complete.<br />
A production acquires a status of Troubled if <strong>Ensemble</strong> is stopped but the<br />
production did not shut down properly. This can happen if you restarted<br />
<strong>Ensemble</strong> or rebooted the machine without first stopping the production.<br />
When a production acquires a Troubled status, a Recover command appears<br />
on the <strong>Ensemble</strong> Management Portal home page (the [<strong>Ensemble</strong>] page). Click<br />
this command to clean up the troubled instance of the production so that you<br />
can run a new instance when you are ready.<br />
To the right of each entry in the <strong>Productions</strong> table are four of the following five commands:<br />
• Click Configure to display the configuration diagram. This is a graphical inventory of the business hosts in the production,<br />
organized into three columns: business services, business processes, and business operations. Each item in the diagram<br />
displays runtime status indicators. You can select individual elements to monitor and edit the details of performance<br />
and configuration. For details about this diagram, see the “Configuration” chapter.<br />
• Click Start to Start the production; offered if the production is stopped.<br />
• Click Stop to Stop the production; offered if the production is running.<br />
• Click <strong>Documentation</strong> to view or generate configuration documentation for this production in HTML format.<br />
4.2 Starting a Production<br />
You can start an <strong>Ensemble</strong> production from various pages in the <strong>Ensemble</strong> Management Portal, including the <strong>Productions</strong><br />
page. To do so:<br />
1. The initial command sequence you choose depends on which page you are viewing when you begin. For example, you<br />
can:<br />
42 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
Stopping a Production<br />
• Begin from the home page. If the <strong>Ensemble</strong> panel (top left) displays a Stopped status and a Start Production<br />
command, examine the name in the Production field. If this production is the one you want to start, click Start<br />
Production. Otherwise, click more... to display the <strong>Productions</strong> page.<br />
• Begin from the [<strong>Ensemble</strong>] > [<strong>Productions</strong>] page. To start a production, find its name in the list and click Start to<br />
the right of it. If you want to view a production’s configuration details before starting it, you can click Configuration<br />
to the right of the production name. The production configuration diagram displays.<br />
• Begin from the configuration display on the [<strong>Ensemble</strong>] > [<strong>Productions</strong>] > [Configuration] page. While viewing the<br />
production diagram in the top half of the screen, click Start Production in the bottom half of the screen.<br />
2. Click Yes to confirm the action.<br />
3. The Production Start page displays the name of the production, its startup status, and any messages associated with<br />
production startup.<br />
Note:<br />
If any Terminal windows open as a result of starting the production, do not close them.<br />
4. When the startup Status is Finished, click OK at the bottom of the Production Start page.<br />
You can also configure an automatic start for an <strong>Ensemble</strong> production. On the [<strong>Ensemble</strong>] > [Maintenance] page, use the<br />
Auto-Start Production field to choose a specific production to start automatically at system startup, and stop automatically<br />
at system shutdown.<br />
4.3 Stopping a Production<br />
You can stop an <strong>Ensemble</strong> production from various pages in the <strong>Ensemble</strong> Management Portal, including the <strong>Productions</strong><br />
page. To do so:<br />
1. The initial command sequence you choose depends on which page you are viewing when you begin. For example, you<br />
can:<br />
• Begin from the home page. If the <strong>Ensemble</strong> panel (top left) displays a Running status and a Stop Production<br />
command, examine the name in the Production field. If this production is the one you want to stop, click Stop<br />
Production. Otherwise, click more... to display the <strong>Productions</strong> page.<br />
• Begin from the [<strong>Ensemble</strong>] > [<strong>Productions</strong>] page. To stop a production, find its name in the list and click Stop to<br />
the right of it. If you want to view a production’s configuration details before stopping it, you can click Configuration<br />
to the right of the production name, and the production configuration diagram displays.<br />
• Begin from the configuration diagram on the [<strong>Ensemble</strong>] > [<strong>Productions</strong>] > [Configuration] page. While viewing<br />
production configuration information in the top half of the screen, click Stop Production in the bottom half of the<br />
screen.<br />
2. Click Yes to confirm the action.<br />
3. After a normal shutdown, the Production Stop page displays the name of the production, its shutdown status, and any<br />
messages associated with production shutdown. When the shutdown Status is Finished, click OK at the bottom of the<br />
Production Stop page.<br />
4. If the request to stop the production initially fails, the portal displays a message:<br />
“Production could not stop, do you want to force a shut down”<br />
And offers a command:<br />
Yes - Force to Shut Down<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 43
<strong>Productions</strong><br />
If you click this command, the production is forced to shut down.<br />
You can also configure an automatic stop for an <strong>Ensemble</strong> production. On the [<strong>Ensemble</strong>] > [Maintenance] page, use the<br />
Auto-Start Production field to choose a specific production to start automatically at system startup, and stop automatically<br />
at system shutdown.<br />
4.4 Production <strong>Documentation</strong><br />
From the [<strong>Ensemble</strong>] > [<strong>Productions</strong>] page, click <strong>Documentation</strong> in the appropriate row to generate or view production<br />
documentation, which includes a list of all the configuration items and their settings.<br />
If HTML documentation exists, you are prompted whether you want to Generate a new version of the documentation or<br />
View the documentation you previously generated. It may take a considerable amount of time to generate documentation<br />
for large productions; therefore, you may not want to generate new documentation if you have not made changes to the<br />
configuration of your production.<br />
You can also generate HTML documentation and additionally PDF documentation using the following methods in the<br />
Ens.Config.Production class:<br />
• CreateDocumentHTML — creates new documentation in HTML format.<br />
For example, to create documentation for Demo.Loan.FindRateProduction in HTML format:<br />
Set<br />
status=##class(Ens.Config.Production).CreateDocumentHTML("Demo.Loan.FindRateProduction",1,.URL,.ErrLog)<br />
• RemoveDocumentHTML — removes existing HTML-format documentation in the current namespace.<br />
• CreateDocumentPDF — creates new documentation as a PDF file.<br />
For example, to create documentation for Demo.Loan.FindRateProduction in PDF format, you can use the method in<br />
a statement similar to the following:<br />
Set<br />
status=##class(Ens.Config.Production).CreateDocumentPDF("Demo.Loan.FindRateProduction",1,"C:\Temp\Rate.pdf",.Log)<br />
The PDF format requires that you have a PDF renderer installed; if you have configured one for Zen, then it becomes<br />
the default renderer. See the Using Zen Reports guide for details.<br />
44 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
5<br />
Configuration<br />
The [<strong>Ensemble</strong>] > [<strong>Productions</strong>] > [Configuration] page allows you to configure operational settings for an <strong>Ensemble</strong> production<br />
in the active namespace. When you edit production settings using the configuration display, you can apply your configuration<br />
changes immediately, even if the production is running.<br />
You can view the configuration page from the [<strong>Ensemble</strong>] > [<strong>Productions</strong>] page by clicking Configure to the right of a production<br />
name.<br />
There is no menu on the Production Configuration page. Click <strong>Productions</strong> in the navigation bar to return to the list of<br />
productions.<br />
The following figure shows the configuration for the Demo.Loan.FindRateProduction contained in the ENSDEMO namespace.<br />
Figure 5–1: Configuration Page<br />
Under the Production Configuration page title bar are the following two display areas, one above the other:<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 45
Configuration<br />
• Configuration Diagram — the upper display shows the production as a logical diagram.<br />
• Configuration Settings — the lower display provides data fields that you can edit to configure the production and its<br />
items shown in the diagram.<br />
You can drag the boundary between the displays to resize them as needed. In many cases you must use the scroll bars to<br />
see the full contents of either display. The following sections provide details on each portion of the Production Configuration<br />
page.<br />
5.1 Configuration Diagram<br />
At the top left corner of the configuration page is the name of the production, plus the message, Production Running,<br />
if that is the case. Under the production name are three columns, separated by vertical lines. From left to right, these columns<br />
contain Business Services, Business Processes, and Business Operations.<br />
The following sections describe the elements of the diagram in detail:<br />
• Configuration Shapes<br />
• Configuration Names<br />
• Configuration Icons<br />
• Status Indicators<br />
• Pool Size<br />
• Context Menu<br />
5.1.1 Configuration Shapes<br />
Any business service, business process, or business operation that has been added to the production appears as a rectangular<br />
shape in the configuration diagram, in the appropriate column. If the underlying host classes exchange <strong>Ensemble</strong> messages,<br />
lines connect the shapes across the columns.<br />
When you click on a shape in the configuration diagram, its background color changes to yellow and its connections to<br />
other entries change to bold purple. The data display at the bottom of the page also changes, to show which fields you can<br />
edit to configure the selected item. See the Configure Business Host Settings section for details.<br />
You can select any individual item by clicking it. To select the entire production, click anywhere in the neutral background<br />
of the diagram.<br />
The following figures provide a close view of one entry in each column on the page.<br />
Figure 5–2: Configuration Page Left Column — Business Service<br />
Figure 5–3: Configuration Page Center Column — Business Process<br />
46 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
Configuration Diagram<br />
Figure 5–4: Configuration Page Right Column — Business Operation<br />
When not selected, shapes in the diagram have the following background colors:<br />
Color<br />
White<br />
Gray<br />
Orange<br />
Business host status<br />
The item has been added to the production configuration and is enabled.<br />
The item has been added but is disabled. Compare the enabled FindRateFileService with<br />
the disabled FindRateEmailService in the full-size Configuration Page diagram in the previous<br />
section.<br />
The item is referenced by another item within the production, but is not yet added to the<br />
production. The background color changes to white or gray after you add the referenced<br />
item.<br />
5.1.2 Configuration Names<br />
The most important characteristic of any item in a production configuration is its name.<br />
By default, the name of a configuration item is the name of its underlying host class. When this is the case, the package<br />
name displays at the top of the shape. The host class name appears below the package name. For examples, see the business<br />
operations FindRateEmailOperation, FindRateFileOperation, and FindRateTCPOperation in the previous figures.<br />
You can assign the item a name that is different from its host class name. If so, the configured name displays in the item<br />
shape and no package name displays. This is true of the My Terminal Output business operation in the full-size configuration<br />
diagram at the beginning of this chapter.<br />
5.1.2.1 Different Configuration Names, Same Host Class<br />
Naming configuration items independently of their host class names provides flexibility in configuring your production.<br />
For example, if you want to use the same business service host class to communicate with various external sources, but<br />
you want to use slightly different runtime settings in each case, you can do so by assigning a different name to each configuration<br />
of the host class. A change to the underlying class code changes the behavior of all of the items of that class.<br />
Figure 5–5: Different Configuration Names, Same Host Class<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 47
Configuration<br />
The Copy command is useful when you need to create multiple items with different configuration names, but the same host<br />
class. Select a configuration item in the diagram, then click Copy. A dialog prompts you to enter the new item name. Once<br />
you click OK to accept the copy, it has no relationship to the original item; you can configure, enable, and disable each item<br />
independently. There is more information about the Copy command in the Configure Business Host Settings section.<br />
Note:<br />
The Copy command works only within the same production. You cannot copy a configuration item from one<br />
production to another.<br />
5.1.2.2 Same Configuration Name, Different Host Classes<br />
You can assign the same configuration name to more than one item in the production; however, only one of the configuration<br />
items with the same name can be enabled at any one time. Usually you set this up because you want to use a different host<br />
class to fulfill the same role within your production at different stages of developing or maintaining it.<br />
For example, when testing or troubleshooting the production you might want to send messages by typing them at the console<br />
command line, or by reading data from files, but when running the production you might intend for these messages to arrive<br />
from an external application via a TCP connection. Each means of obtaining input for the production requires a different<br />
business service host class.<br />
Figure 5–6: Same Configuration Name, Different Host Classes<br />
If there are multiple items with the same configuration name, with one item enabled, only the enabled item is visible in the<br />
configuration diagram. Disabled configuration items with the same name as an enabled item are not visible. However, if<br />
you click on the enabled edition of the item, an Item list box appears in the configuration page at the boundary between the<br />
diagram and the data display, as shown (circled) in the following figure.<br />
Figure 5–7: Item List Box for Same-Named Configuration Items<br />
All of the host classes with the same configuration name as the currently selected item appear in the Item list box. The<br />
currently enabled host class appears in the list with an asterisk (*) beside its name, as shown for<br />
EnsLib.HL7.Service.TCPService in the figure.<br />
You can select the various host classes in the Item list box by clicking them. This displays the General Settings and Specific<br />
Settings for each edition of the item, but it does not control which of the host classes is enabled for the item.<br />
To enable a different host class out of the available choices in the Item list box, you must:<br />
1. Click the enabled item in the diagram. Its General Settings and Specific Settings display in the bottom half of the screen.<br />
48 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
Configuration Diagram<br />
2. Use the Item list box to choose another host class for the item. The General Settings and Specific Settings for this host<br />
class display in the bottom half of the screen.<br />
3. Select the Enabled check box and click Apply. This action enables the item whose settings you are now viewing and<br />
disables the previously enabled edition of the same-named item.<br />
5.1.2.3 Changing the Host Class of a Configured Item<br />
It is possible to change the host class for a configuration item permanently; that is, without switching between different<br />
host classes using the Item list box as described above. To do this use the Change Class command in the configuration page.<br />
5.1.2.4 Adapter Names in the Configuration Diagram<br />
For business services and business operations, the configuration diagram displays the name of the incoming or outgoing<br />
adapter class associated with the item. The choice of specific adapter is made in the host class for the service or operation<br />
and cannot be changed using the configuration page.<br />
5.1.3 Configuration Icons<br />
As described in the Working with Configuration Items section of the “What to Manage” chapter, there are regular configuration<br />
items and special cases of each type. Shapes on the configuration page indicate special cases with an icon, as shown<br />
in the following table.<br />
Table 5–1: Icons on Configuration Diagram Shapes<br />
Column<br />
Icon<br />
Meaning<br />
Reference<br />
(None)<br />
Business service<br />
Developing <strong>Ensemble</strong> <strong>Productions</strong><br />
Business Service<br />
Business metric<br />
Using Dashboards with <strong>Ensemble</strong><br />
(None)<br />
Business process created<br />
with custom code<br />
Developing <strong>Ensemble</strong> <strong>Productions</strong><br />
BPL business process<br />
Developing <strong>Ensemble</strong> <strong>Productions</strong><br />
Business Process<br />
BPL business process<br />
(reusable component)<br />
Developing <strong>Ensemble</strong> <strong>Productions</strong><br />
Routing process<br />
<strong>Ensemble</strong> HL7 Version 2 Development Guide<br />
(None)<br />
Business operation<br />
Developing <strong>Ensemble</strong> <strong>Productions</strong><br />
Business Operation<br />
Workflow operation<br />
Using Workflow with <strong>Ensemble</strong><br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 49
Configuration<br />
5.1.4 Status Indicators<br />
Each configuration item has a circular status indicator in its upper left corner. This indicator changes color with the status<br />
of the configuration item it represents. Business services and business operations have the regular circle indicator, plus an<br />
arrowhead whose color represents the status of the associated inbound or outbound adapter.<br />
The status values for any indicator are as follows:<br />
• Green — OK.<br />
• Yellow — The item has experienced no activity within its configured Inactivity Timeout.<br />
• Red — The item has reported an error.<br />
• Orange — The item could not complete its current activity and is retrying it, as configured.<br />
• Blue — The item is in the process of starting up.<br />
• Gray — The configuration item is disabled.<br />
• (Any color, dimmed) — The production is not currently running.<br />
5.1.5 Pool Size<br />
Below the status indicator, each business host displays its private Pool Size — the number of jobs allocated for its own,<br />
private use in the current configuration. A business process shows no pool size if its private pool size is 0 (zero), meaning<br />
that it gets its jobs from the public actor pool shared by all business processes in the production.<br />
For an overview of pool sizes, see Working with Jobs in the “What to Manage” chapter. For a full discussion of appropriate<br />
pool sizes for different types of production, see the Pool Size section in the “Production Concepts” chapter in Developing<br />
<strong>Ensemble</strong> <strong>Productions</strong>.<br />
5.1.6 Context Menu<br />
You can right-click anywhere on the diagram in the top display to reveal the configuration context menu. The following<br />
menu options are available:<br />
• Show Category — Choose a category name. The diagram changes to reveal only those configuration items that match<br />
the category you have just selected. Select All (the first option) to reveal all configuration items, regardless of category.<br />
• Sort — Choose the order in which the configuration items display (the default is by name):<br />
– By Position — Items display in the order they appear in the production class; by default, this is the order you add<br />
them to the configuration.<br />
For details, see the How a Production Stores the Values of its Settings section in the “Creating a New Production”<br />
chapter of Developing <strong>Ensemble</strong> <strong>Productions</strong>.<br />
– By Name — Items display in alphabetical order.<br />
– By Status — Items display by status in the following order: error, missing, OK, disabled.<br />
• Add — Choose to add a Business Service, Business Process, or Business Operation to the production.<br />
• Production Settings — Edit production settings in the bottom display.<br />
• Zoom — Choose a zoom factor for the BPL diagram. Choose a large factor to view details, a small factor to gain an<br />
overview.<br />
50 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
Configuration Settings<br />
• Show Components — This option toggles between a production diagram that shows all types of BPL business processes,<br />
and a view that hides any BPL business processes that are reusable components.<br />
• Toggle Enabled — Enable a disabled configuration item, or disable an enabled configuration item.<br />
• Run-time — Choose one of two [<strong>Ensemble</strong>] > [Host Monitor] pages for this configuration item: Display a list of Instances,<br />
or display a graphical History of the item’s activity over time.<br />
• Show Message Queue — Display the [<strong>Ensemble</strong>] > [Queues] page for this configuration item only.<br />
• Show Event Log — Display the [<strong>Ensemble</strong>] > [Event Log] entries relating to this configuration item only.<br />
• Find, Find Again — Search for a text string in the underlying XML document. When found, the corresponding string<br />
is highlighted in the configuration diagram.<br />
• View Source, Original View — Switch between the diagram and the SVG code that displays the diagram.<br />
• About SVG Viewer — Display version and copyright information about the SVG Viewer used to display the production<br />
diagram.<br />
5.2 Configuration Settings<br />
The [<strong>Ensemble</strong>] > [<strong>Productions</strong>] > [Configuration] page allows you to configure the operational settings for an <strong>Ensemble</strong><br />
production and its items. The text in the bar under the configuration diagram indicates the item for which you are configuring<br />
settings: the production, a business service, a business process, or a business operation. Your selection in the diagram<br />
controls which settings appear in the lower portion of the page for configuration:<br />
• To configure production settings, select the production by clicking in the neutral background of the configuration diagram.<br />
• To configure business host settings, select a particular business service, process, or operation by clicking on its shape<br />
in the configuration diagram.<br />
The following table describes the significance of the color of the setting name displayed on the lower portion of the configuration<br />
page.<br />
Color<br />
Black<br />
Green<br />
Blue<br />
Source<br />
Setting value comes from the production definition — the value you enter and apply in the<br />
configuration page.<br />
Setting value comes from the class definition; it is the default value for the property as defined<br />
in the class implementing the configuration item through the use of the InitialExpression attribute.<br />
Setting value comes from the default settings you enter in the Default Settings page for the<br />
namespace in the <strong>Ensemble</strong> instance that contains the production. See the Default Settings<br />
section in the “Maintenance” chapter of this guide for details.<br />
5.2.1 Configure Production Settings<br />
If Production Settings are not visible in the lower portion of the configuration display, click on the neutral background of<br />
the configuration diagram to display them.<br />
Under the name of the production is a row of commands, from left to right:<br />
• Apply — Activate the changes highlighted in yellow on the configuration page.<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 51
Configuration<br />
When you click Apply to save changes made in the configuration form, <strong>Ensemble</strong> outputs your settings to the production<br />
class in the form of an XML document embedded in the XData ProductionDefinition section of the class.<br />
• Cancel — Undo the changes highlighted in yellow on the configuration page.<br />
• Help — View context-sensitive information about this page.<br />
• Start Production — Start the production whose configuration you are viewing.<br />
• Stop Production — Stop the production that is running in the active namespace.<br />
The next three commands allow you to add new configuration items to the production. Clicking one of these commands<br />
does not generate any new host classes. Any item that you add at this step must already have a corresponding host class<br />
that has been written and compiled in <strong>Ensemble</strong> Studio. These commands simply tell the production which items you want<br />
it to contain:<br />
• Add Service — Add a business service to the production.<br />
• Add Process — Add a business process to the production.<br />
• Add Operation — Add a business operation to the production.<br />
Beneath the row of commands are the settings you can configure for a production; they are grouped into the following three<br />
categories:<br />
• Production Settings<br />
• Additional Production Settings<br />
• Defaults for Additional Production Settings<br />
5.2.1.1 Production Settings<br />
The configuration page allows you to configure the following Production Settings common to all productions:<br />
Name<br />
Description<br />
The production name. This field has a gray background, which means you can view it, but you cannot edit it.<br />
Comments that describe the production.<br />
Actor Pool Size<br />
Number of system jobs available in a public pool of jobs for use by business processes that have no private pool<br />
of jobs. Allow enough for requests to keep moving through the message queues, but no more.<br />
For a full discussion of appropriate pool sizes for different types of production, see the Pool Size section in the<br />
“Production Concepts” chapter of Developing <strong>Ensemble</strong> <strong>Productions</strong>.<br />
Testing Enabled<br />
Select this check box to enable use of the <strong>Ensemble</strong> Testing Service pages to test this production. Clear this check<br />
box to disable the testing service.<br />
Log Unassigned Trace Events<br />
Trace messages are informational text messages that <strong>Ensemble</strong> can deliver to the Terminal window and, optionally,<br />
to the <strong>Ensemble</strong> event log. Trace messages are unrelated to Visual Trace, which provides a graphical view of<br />
<strong>Ensemble</strong> message objects as they travel through a production.<br />
52 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
Configuration Settings<br />
By default, the Log Unassigned Trace Events check box is clear. When selected, it enables logging of all trace<br />
messages issued by production elements that are not configuration items. Logging means that <strong>Ensemble</strong> automatically<br />
stores copies of these trace messages in the event log.<br />
Each business service, business process, and business operation in the production has its own Log Trace Events<br />
setting, which controls logging of trace messages from that configuration item. There is no overlap or interaction<br />
between these settings. Log Unassigned Trace Events does not override or provide a default value for Log Trace<br />
Events.<br />
5.2.1.2 Additional Production Settings<br />
The right lower portion of the configuration page allows you to configure Additional Production Settings:<br />
Shutdown Timeout<br />
How long to wait while attempting to shut down a production before forcing the shutdown. The class default is<br />
120 seconds.<br />
Update Timeout<br />
How long to wait while attempting to update the configuration for a production that is busy, before abandoning<br />
the update. The class default is 10 seconds.<br />
(custom settings)<br />
Any custom settings added to the underlying production class. For details, see the Adding Configuration Settings<br />
section of the “Creating a New Production” chapter of Developing <strong>Ensemble</strong> <strong>Productions</strong>.<br />
Next to the Additional Production Settings title is a red arrow icon. Click this arrow to view and update the defaults for<br />
additional production settings. This feature makes it easier to move productions from one <strong>Ensemble</strong> instance to another.<br />
5.2.1.3 Defaults for Additional Production Settings<br />
When you click the default setting icon on the configuration page for the production, the Select Defaults for Additional<br />
Production Settings dialog box displays a table where you can view the setting values and, if appropriate, select to use the<br />
default values for the production settings. The table contains the following information.<br />
Column<br />
Default command<br />
Property<br />
Target<br />
Type<br />
Value<br />
Default<br />
Default Source<br />
Description<br />
Command displays only if the source of the current value is not a default.<br />
Name of the property setting.<br />
N/A at the production level.<br />
Data type of the property. See %Library.DataType for a list of types.<br />
Current value for the setting.<br />
Default value for this setting.<br />
Source of the default value:<br />
• class definition<br />
• default setting<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 53
Configuration<br />
Column<br />
Value Source<br />
Description<br />
Source of the current value:<br />
• class definition<br />
• default setting<br />
• production definition<br />
If a setting row does not have a Default command in the first column, either the value is already set to the default or a default<br />
value does not exist.<br />
1. To update a production setting to a default value, click Default in the left column to initiate the following actions:<br />
• The Default value as defined in the production class or by a default setting is placed in Value.<br />
• Default command becomes disabled.<br />
• The property field background becomes yellow to indicate that you have modified the field.<br />
• The property label becomes either green or blue depending on the Default Source.<br />
2. If you make a mistake and want to return to the original values, click Reset; the table settings refresh to the setting<br />
values before you made any changes.<br />
3. Once you verify your changes, click OK to update the settings to the default values and transfer back to the Production<br />
Configuration page with your new settings. The color of the setting labels now reflect any changes you made using the<br />
defaults and any value that has been updated has a yellow background.<br />
The yellow background color for a field means that this field has been modified, whether you type in a new value, or<br />
click Default in the Select Defaults for Additional Production Settings dialog box.<br />
4. Click Apply to save all your setting updates.<br />
Important:<br />
Updates to default values only take effect when you click Apply on the Production Configuration page.<br />
5.2.2 Configure Business Host Settings<br />
When you select a business host in the diagram on the [<strong>Ensemble</strong>] > [<strong>Productions</strong>] > [Configuration] page, the runtime settings<br />
for this business host display in the lower portion of the page.<br />
Note:<br />
If you cannot find a particular business host in the configuration diagram, check that you have used the scroll bars<br />
to see the entire screen. Then refresh the display. If you still do not see the item, add it to the production using<br />
the appropriate Add command from the production configuration display and then configure it.<br />
At the boundary between the diagram and settings is a row of commands. From left to right:<br />
• Apply — Activate the changes highlighted in yellow on the configuration page. Even if the production is running, any<br />
changes that you Apply take effect immediately.<br />
• Cancel — Undo the changes highlighted in yellow on the configuration page.<br />
• Copy — Create a copy of the currently selected configuration item. When you click Copy, a dialog box prompts you<br />
to enter a configuration name. Enter a unique name and click OK. When first created, the copy has the same host class<br />
and settings as the original; only the name is different. Generally your next step is to configure the copy to make it<br />
unique. For example:<br />
54 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
Configuration Settings<br />
– If you have an incoming TCP business service that receives messages from a client application, and you want to<br />
receive messages from a similar application on a different application server, you can copy the first TCP service<br />
and configure the copy with the other server address.<br />
– If you have a business process for one message routing interface, and you want a similar one but with slight<br />
alterations for another interface, you can copy the first routing process and configure the copy to route messages<br />
between different sets of business services and business operations.<br />
– If you have an outgoing email business operation that alerts a user, but you want to alert another user at different<br />
times of day, you can copy the first outgoing email operation and configure the copy with the other email address.<br />
• Remove — Remove this item from the production configuration. This action does not delete the business host class<br />
from the source code. It only removes the item — identified by Name — from the list of items included in the production.<br />
• Change Class — Change the Class field under General Settings for this item. If you change the host class, the General<br />
Settings retain their values, but you must reconfigure the Specific Settings, as these may be entirely different for the<br />
new host class.<br />
When you click Change Class, a prompt displays asking you to confirm your action. To accept the warning, click OK.<br />
The data display title becomes Change Business Class with the name of the business service, for example Change<br />
Business Class for Demo.Loan.FindRateFileService. You can view or edit the following settings. These are similar to<br />
your choices when you first added the business service to the production:<br />
– Class — Select a business service class from the drop-down list.<br />
– Name — By default, this field takes the value of the business service class name from the class definition in the<br />
source code. However, you can give a business service a name for any management purpose you wish.<br />
– Category — Optionally, you may enter a text label in the Category field. Category names are case-sensitive, and<br />
space characters are allowed within them. To place an item in multiple categories, list them in the Category field,<br />
separated by commas. Do not allow spaces around these commas. For details, see the “Assigning Configuration<br />
Items to Categories” section in the chapter “What to Manage.”<br />
– Comment — Enter a text description of the business service.<br />
Click Apply to activate your changes, Cancel to undo your changes and return to the settings display.<br />
• Instances — View detailed information about instances of the business host in the running production. This command<br />
displays only if Pool Size is > 0, but appears dimmed if the production is not running.<br />
• History — View information about the level of activity for this business service over time.<br />
• View Definition — Display the [<strong>Ensemble</strong>] > [Business Processes] > [BPL Viewer] diagram for the business process in<br />
the top half of the page. Details appear in the lower portion. This view of the BPL diagram is read-only. To edit the<br />
diagram you must open the business process host class in <strong>Ensemble</strong> Studio. Appears only if you select a BPL business<br />
process.<br />
• View Rules — Navigate to the <strong>Ensemble</strong> Message Routing Rule Editor. Appears only if you select a message routing<br />
business process.<br />
• Queue — Display the contents of the [<strong>Ensemble</strong>] > [Queues] > [Contents] page for this configuration item only in the<br />
lower portion of the page. Appears only if you select a business process or a business operation.<br />
• Test — Navigate to the <strong>Ensemble</strong>, Testing Service pages. The Test command works only when the production that<br />
contains this business host is running with testing enabled. Appears only if you select a business process or a business<br />
operation.<br />
• Help — View context-sensitive information about this page.<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 55
Configuration<br />
Beneath the row of commands are the settings you can configure for a business service, process, or operation. They are<br />
grouped into the following three categories:<br />
• General Settings<br />
• Specific Settings<br />
• Defaults for Specific Settings<br />
5.2.2.1 General Settings<br />
The configuration page permits you to view or edit the following General Settings for a business host:<br />
Name<br />
Comment<br />
Schedule<br />
Category<br />
Class<br />
By default, the Name field takes the value of the business host class name from the class definition in the source<br />
code. However, you can give a business host a name for any purpose.<br />
For example, if you have a business service class that communicates with a specific type of server, and you use<br />
to communicate with the same type of server in different enterprise locations, you must configure the business<br />
service with different settings to communicate with each enterprise location, even though the type of server is the<br />
same. Each different configuration of the business service must have a different Name in the diagram, while the<br />
Class actually remains the same. All of the configuration settings listed in this topic apply to the business host<br />
identified by Name.<br />
An optional text description.<br />
An optional command string that schedules the business host to be stopped and started at specific times and on<br />
specific days of the week, month, or year. The string is a comma-separated list of event specifications, each of<br />
which has the following format:<br />
action:YYYY-MM-DDThh:mm:ss<br />
Where action is either START or STOP to indicate the desired event. For full details of the Schedule string, see<br />
the “Scheduling Configuration Items” section in the “What to Manage” chapter.<br />
An optional text label. When you are viewing the production configuration diagram, you can right-click on the<br />
background of the diagram, then choose Show Category and a category name from the context menu. The diagram<br />
changes to reveal only those configuration items that match the Category name you have just selected. Category<br />
names are case-sensitive, and space characters are allowed. To place an item in multiple categories, list them in<br />
the Category field, separated by commas. Do not put spaces around these commas. For details, see the “Assigning<br />
Configuration Items to Categories” section in the “What to Manage” chapter.<br />
The business host class name. This field has a gray background, which means it is read-only. If you want to change<br />
this field, click Change Class and choose a different host class name.<br />
For example, you might change the class of a business service that you have already configured if an enterprise<br />
that you communicate with upgrades to a different type of server. This could happen even if the purpose of the<br />
business service remains unchanged, such as Our Data Feed from Client X. A change in server on the<br />
56 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
Configuration Settings<br />
Description<br />
Enabled<br />
Foreground<br />
external side might mean that the business service now needs a different class of adapter to communicate with the<br />
other enterprise. This would indicate a change to the Class field. The Name field allows continuity across this<br />
change.<br />
If you change the host class, the General Settings retain their values, but you must configure the Specific Settings,<br />
as these may be entirely different for the new host class.<br />
Comments that describe the business host class. This read-only field displays the first line of the class annotation<br />
in the code. If there is no annotation in the code, the Description field contains the text N/A.<br />
By default, the Enabled check box is selected for every business host. When you select Enabled, the business host<br />
— identified by Name — is enabled. When a business host is enabled, it is registered with the production, and<br />
instances of the business host accepts and processes messages whenever the production runs. You can clear the<br />
Enabled check box, if needed.<br />
For example, if there is a communications breakdown on the external side, an email server goes down, or something<br />
similar happens, you can disable the associated business service until throughput is restored. When the Enabled<br />
check box is clear, the business service is still present in the configuration, and its queue continues to accept<br />
messages, but none of these messages are processed until the business service is enabled again.<br />
By default, this check box is clear. Select it for debugging or diagnostic purposes only. Jobs in operational systems<br />
almost never run in the foreground. When the Foreground check box is selected, any system jobs used by the<br />
business service run in a Caché Terminal window at the front of the console display. This allows debugging or<br />
trace messages to be displayed in the Terminal window. See the section “Testing and Debugging <strong>Productions</strong>”<br />
in the “Creating a New Production” chapter of Developing <strong>Ensemble</strong> <strong>Productions</strong>.<br />
Log Trace Events<br />
Trace messages are informational text messages that <strong>Ensemble</strong> can deliver to the Terminal window and, optionally,<br />
to the <strong>Ensemble</strong> event log. Trace messages are unrelated to Visual Trace, which provides a graphical view of<br />
<strong>Ensemble</strong> message objects as they travel through a production.<br />
By default, the Log Trace Events check box is clear. When selected, it enables logging of all trace messages issued<br />
by this business host. Logging means that <strong>Ensemble</strong> will write the trace messages to the console Terminal window<br />
(as usual) but it will also automatically store copies of these messages in the event log.<br />
Inactivity Timeout<br />
Pool Size<br />
A business host has an Inactive status after it has not received any messages within the number of seconds specified<br />
by the Inactivity Timeout field. The <strong>Ensemble</strong> Monitor Service periodically reviews the status of business services<br />
and business operations within the production, and marks the item as Inactive if it has not done anything within<br />
the Inactivity Timeout period. The business host status (OK, Error, Inactive) can be seen on the [<strong>Ensemble</strong>] > [Host<br />
Monitor] page. The default value is 0 (zero). If a business host has an Inactivity Timeout setting of 0, it will never<br />
be marked Inactive, no matter how long it stands idle.<br />
Specifies how many system jobs to allocate to run this business host; the default is 1. Other values are appropriate<br />
in specialized circumstances as described in the General Settings notes for the particular business host type.<br />
For a full discussion of appropriate pool sizes for different types of production, see the Pool Size section in the<br />
“Production Concepts” chapter of Developing <strong>Ensemble</strong> <strong>Productions</strong>.<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 57
Configuration<br />
From the Production Configuration page, click Apply to save all your setting updates.<br />
5.2.2.2 Specific Settings<br />
Each type of business host has specific settings depending whether it is a service, process, or operation. When you hover<br />
the cursor over a field name, if there is a description of this field in the class code, its description displays. Validation for<br />
the data you enter is performed using the data types in the class code.<br />
Under Specific Settings, the additional fields you can configure depend on the details of the business host class. Most<br />
business hosts have the following settings:<br />
Alert On Error<br />
Archive IO<br />
When Alert On Error is set to True, as soon as the business host encounters any type of error condition it automatically<br />
triggers an alert. An alert writes a message to the <strong>Ensemble</strong> event log and can also send notification to a<br />
user via email or pager. For details, see the Alerts section in the “Creating a New Production” chapter of Developing<br />
<strong>Ensemble</strong> <strong>Productions</strong>.<br />
If True, the adapter associated with this business service or operation logs in the <strong>Ensemble</strong> I/O archive each input<br />
and output communication it shares with the external system. See the Working with the I/O Archive section in<br />
the “What to Manage” chapter.<br />
The following sections provide details for the specific business host type:<br />
• Business Service Settings<br />
• Business Process Settings<br />
• Business Operation Settings<br />
5.2.2.3 Defaults for Specific Settings<br />
When you click the default setting icon on the configuration page for a specific business service, process, or operation,<br />
the Select Defaults for Specific Settings dialog box displays a table where you can view the setting values and, if appropriate,<br />
select to use the default values for the settings. The table contains the following information.<br />
Column<br />
Default command<br />
Property<br />
Target<br />
Type<br />
Value<br />
Default<br />
Default Source<br />
Description<br />
Command displays only if the source of the current value is not a default.<br />
Name of the property setting.<br />
Indicates if the property is for a host or adapter.<br />
Data type of the property.<br />
Current value for the setting.<br />
Default value for this setting.<br />
Source of the default value:<br />
• class definition<br />
• default setting<br />
58 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
Configuration Settings<br />
Column<br />
Value Source<br />
Description<br />
Source of the current value:<br />
• class definition<br />
• default setting<br />
• production definition<br />
If a setting row does not have a Default command in the first column, either the value is already set to the default or a default<br />
value does not exist.<br />
1. To update a business host setting to a default value, click Default in the left column to initiate the following actions:<br />
• The Default value as defined in the production class or by a default setting is placed in Value.<br />
• Default command becomes disabled.<br />
• The property field background becomes yellow to indicate that you have modified the field.<br />
• The property label becomes either green or blue depending on the Default Source.<br />
2. If you make a mistake and want to return to the original values, click Reset; the table settings refresh to the setting<br />
values before you made any changes.<br />
3. Once you verify your changes, click OK to update the settings to the default values and transfer back to the Production<br />
Configuration page with your new settings. The color of the setting labels now reflect any changes you made using the<br />
defaults and any value that has been updated has a yellow background.<br />
The yellow background color for a field means that this field has been modified, whether you type in a new value, or<br />
click Default in the Select Defaults for Specific Settings dialog box.<br />
4. Click Apply to save all your setting updates.<br />
Important:<br />
Updates to default values only take effect when you click Apply on the Production Configuration page.<br />
5.2.3 Business Service Settings<br />
When you select a business service in the configuration diagram on the [<strong>Ensemble</strong>] > [<strong>Productions</strong>] > [Configuration] page,<br />
the runtime settings for this business service display in the lower portion of the page. For the most part, these settings<br />
describe how the service communicates with the specific external entity from which it receives requests.<br />
General Settings<br />
The configuration page permits you to view or edit the General Settings described in a previous section with the following<br />
additional notes that apply specifically to business services:<br />
Pool Size<br />
You must use a value of 0 if the business service is being invoked via the Ens.Director method CreateBusinessService;<br />
this is called an adapterless business service.<br />
You may use a value greater than 1 with File or FTP inbound adapters if you want multiple jobs competing to pull<br />
files from the same input directory, or if you have a TCP Service configured with an exclamation point (!) to<br />
make it initiate the connection.<br />
Specific Settings<br />
The configuration page permits you to view or edit Specific Settings for the inbound adapter associated with a business<br />
service:<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 59
Configuration<br />
Adapter Class<br />
The class name for the inbound adapter associated with this business service, or if there is no associated<br />
adapter class. This field has a gray background because it is read-only. Its value is determined by the business<br />
service class definition in the source code.<br />
Adapter SETTINGS<br />
Below the Adapter Class, various other fields display. The exact fields vary depending on the adapter class.<br />
Whatever is listed in the SETTINGS parameter for the business service class or its associated adapter class appears<br />
in the Specific Settings. When you hover the cursor over a field name, if there is a description of this field in the<br />
class code, its description displays. Validation for the data you enter is performed using the data types in the class<br />
code.<br />
Alert Grace Period<br />
Call Interval<br />
Credentials<br />
Business services can be configured with an Alert Grace Period during which errors relating to external connections<br />
do not trigger alerts, even if Alert On Error is True. The Alert Grace Period is allowed to elapse, giving the business<br />
service and the external source time to reestablish their connection. If the error condition still exists after the Alert<br />
Grace Period, the business service triggers an alert; otherwise no alert is triggered.<br />
Setting Alert Grace Period to 0 disables this feature for the business service.<br />
Many inbound adapters have a configurable setting called Call Interval. This integer determines how frequently<br />
the business service invokes the associated inbound adapter to obtain new input. Call Interval has a minimum of<br />
0.1 seconds. The default is 5 seconds.<br />
Some inbound adapters make remote connections that require a username and password. <strong>Ensemble</strong> stores these<br />
login credentials in a centralized table that can be viewed and edited only by users with access to the [<strong>Ensemble</strong>]<br />
> [Maintenance] > [Credentials] page. Each entry in the Credentials table has an ID by which you can refer to it<br />
when configuring adapters for the production.<br />
If an inbound adapter requires credentials, the Specific Settings include a Credentials field. If this field is present,<br />
it must contain an ID from the table on the [<strong>Ensemble</strong>] > [Maintenance] > [Credentials] page. If there is no current<br />
Credentials entry for the remote system that this business service needs to connect to, you must create it. After<br />
creating the new entry in the [<strong>Ensemble</strong>] > [Maintenance] > [Credentials] page, go back to the configuration page<br />
and enter the new ID in the Credentials field.<br />
5.2.4 Business Process Settings<br />
When you select a business process in the configuration diagram on the [<strong>Ensemble</strong>] > [<strong>Productions</strong>] > [Configuration] page,<br />
the runtime settings for this business process display in the lower portion of the page. For the most part, these settings<br />
describe how the process communicates with other items within <strong>Ensemble</strong>.<br />
General Settings<br />
The configuration page permits you to view or edit the General Settings described in the previous section with the following<br />
additional notes that apply specifically to business processes:<br />
• Enabled — When you clear this check box, the Ens.Actor queue continues to accept messages addressed to it, but none<br />
of these messages are processed until you enable the business process again.<br />
• Pool Size — This number could be larger to allow higher throughput in some circumstances. If this number is 0, the<br />
business process has no private pool of jobs, and uses jobs from the public actor pool for the production.<br />
60 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
Configuration Settings<br />
Larger numbers are not necessarily helpful; while the potential pool sizes actually range from 0–100, most pool sizes<br />
are best set to either 0 or 1, and there can be serious consequences when sizes are set to a number greater than 1.<br />
Important:<br />
When you disable a business process, it must have a Pool Size = 1 or greater if you want all instances of<br />
only this business process to stop. If the business process has a Pool Size = 0, the action disables all business<br />
processes that share the actor pool. See the Pool Size section in the “Production Concepts” chapter of<br />
Developing <strong>Ensemble</strong> <strong>Productions</strong> for details.<br />
Specific Settings<br />
Under Specific Settings, there may be additional fields you can configure. This depends on the details of the business process<br />
class. Most business processes have the following settings:<br />
Reply Code Actions<br />
Retry Interval<br />
Comma-separated list of code-action pairs, specifying which action the business process takes on receipt of various<br />
reply status conditions.<br />
See Reply Code Actions Setting for details.<br />
Number of seconds to wait between attempts to connect to the output system.<br />
Alert Retry Grace Period<br />
You can configure business processes with an Alert Retry Grace Period during which errors do not trigger alerts,<br />
even if Alert On Error is True. This grace period accommodates a business process that attempts a connection with<br />
a configured Retry Interval and Failure Timeout. During its retry sequence, the business process may encounter<br />
failures that become unimportant after one of its retry attempts succeeds. Thus, if a business process first<br />
encounters an error, but later achieves success within the time allotted by the Alert Retry Grace Period, no alert is<br />
triggered even though an error occurred.<br />
Failure Timeout<br />
Total number of seconds to keep trying to connect with the output system. After this number of seconds has<br />
elapsed, the business process returns an error code.<br />
5.2.5 Business Operation Settings<br />
When you select a business operation in the configuration diagram on the [<strong>Ensemble</strong>] > [<strong>Productions</strong>] > [Configuration]<br />
page, the runtime settings for this business operation display in the lower portion of the page. For the most part, these settings<br />
describe how the operation communicates with the specific external entities to which it sends requests.<br />
Specific Settings<br />
The configuration page permits you to view or edit the following Specific Settings for the outbound adapter associated with<br />
a business operation:<br />
Adapter Class<br />
The class name for the outbound adapter associated with this business operation, or if there is no associated<br />
adapter class. This field has a gray background because it is read-only. Its value is determined by the business<br />
operation class definition.<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 61
Configuration<br />
Adapter SETTINGS<br />
Below the Adapter Class, various other fields display. The exact fields vary depending on the adapter class.<br />
Whatever is listed in the SETTINGS parameter for the business operation class or its associated adapter class<br />
appears in the Specific Settings. When you hover the cursor over a field name, if there is a description of this field<br />
in the class code, its description displays. Validation for the data you enter is performed using the data types in<br />
the class code.<br />
Reply Code Actions<br />
Retry Interval<br />
Comma-separated list of code-action pairs, specifying which action the business operation takes on receipt of<br />
various reply status conditions.<br />
See Reply Code Actions Setting for details.<br />
Number of seconds to wait between attempts to connect with a destination outside <strong>Ensemble</strong>.<br />
Alert Retry Grace Period<br />
Business operations can be configured with an Alert Retry Grace Period during which errors relating to external<br />
connections do not trigger alerts, even if Alert On Error is True. This grace period accommodates a business<br />
operation that attempts an external connection with a configured Retry Interval and Failure Timeout. During its<br />
retry sequence, the business operation may encounter connection failures that become unimportant after one of<br />
its retry attempts succeeds. Thus, if a business operation first encounters an error, but later achieves success within<br />
the time allotted by the Alert Retry Grace Period, no alert is triggered even though an error occurred.<br />
Setting Alert Retry Grace Period to 0 disables this feature for the business operation.<br />
Failure Timeout<br />
Credentials<br />
Total number of seconds to keep trying to connect with a destination outside <strong>Ensemble</strong>. After this number of<br />
seconds has elapsed, the business operation discards the message data and returns an error code. To ensure that<br />
no message is ever skipped, enter a Failure Timeout value of –1, which means “never time out.” Use a setting of<br />
–1 when complete data delivery is critical, for example in health care applications.<br />
Some outbound adapters make remote connections that require a username and password. <strong>Ensemble</strong> stores these<br />
login credentials in a centralized table that can be viewed and edited only by users with access to the [<strong>Ensemble</strong>]<br />
> [Maintenance] > [Credentials] page. Each entry in the Credentials table has an ID by which you can refer to it<br />
when configuring adapters for the production.<br />
If an outbound adapter requires credentials, the Specific Settings include a Credentials field. If this field is present,<br />
it must contain an ID from the table on the [<strong>Ensemble</strong>] > [Maintenance] > [Credentials] page. If there is no current<br />
Credentials entry for the remote system that this business operation needs to connect to, you must create it. After<br />
creating the new entry in the [<strong>Ensemble</strong>] > [Maintenance] > [Credentials] page, go back to the configuration page<br />
and enter the new ID in the Credentials field.<br />
5.2.6 Reply Code Actions Setting<br />
The Reply Code Actions setting allows you to supply a comma-separated list of code-action pairs, specifying which action<br />
the business host takes on receipt of various reply status conditions. The format of the list is:<br />
code=actions,(code,code)=actions, ... code=action<br />
The following table lists the types of reply status condition identified by code.<br />
62 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
Configuration Settings<br />
Table 5–2: Code Values for Reply Code Actions<br />
Code<br />
E<br />
E#statuscode<br />
E*text<br />
X<br />
Meaning<br />
Error status returned from message handler.<br />
Error status returned from message handler has status code equal to statuscode.<br />
Error status returned from message handler contains text string text.<br />
There is no reply message object at all.<br />
The following values for action may be used alone or combined to form strings.<br />
Table 5–3: Action Values for Reply Code Actions<br />
Action<br />
C<br />
W<br />
R<br />
S<br />
D<br />
F<br />
Meaning<br />
Treat the document as Completed OK.<br />
Log a warning but treat the document as Completed OK.<br />
Retry the message according to the configured Retry Interval and Failure Timeout settings; finally Fail,<br />
unless a different action is also specified.<br />
Suspend the message, log an error, and move on to try the next message (the default).<br />
Disable the business process or operation, log an error, and restore the outbound message to the<br />
front of the business host queue.<br />
When you choose the disable action for a business process, you must configure the business with<br />
a Pool Size = 1 or greater if you want all instances of only this business process to stop. If the business<br />
process has a Pool Size = 0, the disable action disables all business processes that share the actor<br />
pool. See the Pool Size section in the “Production Concepts” chapter of Developing <strong>Ensemble</strong><br />
<strong>Productions</strong> for details.<br />
Fail with an error and move on to try the next message.<br />
For example:<br />
E#6301=R,E#ErrGeneral=R,E=F<br />
The default value for the Reply Code Actions string is:<br />
E=F<br />
Which means when there is an error, fail and move on to try the next message.<br />
All codes where the actions consists of only W (log a Warning) are evaluated and warnings generated if they trigger. Other<br />
codes are evaluated in left-to-right order, executing the first one that triggers that has a non-warning actions value.<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 63
6<br />
System Monitor<br />
The [<strong>Ensemble</strong>] > [System Monitor] page displays real-time status information about the currently running production in a<br />
condensed, one page format.<br />
You can display the System Monitor page by choosing System Monitor from the <strong>Ensemble</strong> Management Portal main menu.<br />
You can return to the <strong>Ensemble</strong> home page by clicking [<strong>Ensemble</strong>] in the title bar navigation path.<br />
The main display area of the [<strong>Ensemble</strong>] > [System Monitor] page is laid out as a grid containing the following tables:<br />
• Input Connections (upper left) lists all incoming connections from external systems.<br />
• Output Connections (upper right) lists all outgoing connections to external systems.<br />
• Queues (lower left) lists the status of <strong>Ensemble</strong> internal message queues and how many messages are currently waiting<br />
in each queue.<br />
• Event Log (lower right) summarizes recent entries in the event log.<br />
Each entry provides an icon and color to indicate the item’s status. For connections and queues:<br />
•<br />
•<br />
Green dot — Active and OK.<br />
Yellow dash — Currently inactive, but otherwise OK.<br />
For the event log:<br />
•<br />
•<br />
•<br />
Red ! — Error.<br />
Orange W — Warning.<br />
Yellow A — Alert.<br />
For any entry displayed in a table on this grid, you can click its name to display useful details and links to more information.<br />
These links appear in the vertical display area at left, under the Auto update check box. Clear the Auto update check box<br />
to disable frequent real-time updates of the information on the System Monitor page.<br />
You can extend the System Monitor page to show information from user-defined business metric classes. These are the<br />
same business metric classes that support <strong>Ensemble</strong> dashboards. Perform the following steps to add entries to the System<br />
Monitor page:<br />
1. Define a business metric class and add it to your production. For background information, see the “Business Metrics”<br />
chapter in Using Dashboards with <strong>Ensemble</strong>.<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 65
System Monitor<br />
2. Set the ^Ens.Monitor.Settings global in your namespace. This global indicates which business metrics are<br />
supplying additional data to the System Monitor page. For each business metric, supply three ObjectScript statements,<br />
similar to the following:<br />
Set ^Ens.Monitor.Settings("MetricClasses",1,"Metric") = "MetricConfigName"<br />
Set ^Ens.Monitor.Settings("MetricClasses",1,"Title") = "Title for Display"<br />
Set ^Ens.Monitor.Settings("MetricClasses",1,"Instance") = "MetricInstanceName"<br />
Where:<br />
• These statements are appropriate for the first business metric you add. For additional business metrics, in place<br />
of the number 1, use an integer n where n is the same for all three statements. Increase n by 1 for each additional<br />
business metric class that you want to display on the System Monitor page.<br />
• In place of "MetricConfigName" provide the configured name of the business metric component. (If you do<br />
not enter a name when you add the metric to the production, the component name defaults to the class name.)<br />
• If you do not supply the statement that sets the "Title" value, the value of "Metric" is used as a default<br />
"Title".<br />
• In place of "MetricInstanceName" provide the metric instance name. If the metric does not have instances,<br />
you may omit the statement that sets the "Instance" value. If it does have instances and you do not supply a<br />
value, the first instance is used.<br />
For each business metric that you add, the System Monitor page indicates when it last updated the metric information, if<br />
there is any data for the given metric or instance, and whether or not the given metric is currently running. As with any<br />
entry on the System Monitor page, click the metric name to display useful details and links to more information.<br />
66 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
7<br />
Event Log<br />
The [<strong>Ensemble</strong>] > [Event Log] page displays the event log entries for the currently running production. You can display this<br />
page from the <strong>Ensemble</strong> Management Portal as follows:<br />
• From the <strong>Ensemble</strong> Menu — Click Event Log<br />
• From the [<strong>Ensemble</strong>] > [Maintenance] > [Purge] page — Click Show Event Log<br />
There is a Purge command to purge outdated entries from the event log. at the top of the Event Log page.<br />
The <strong>Ensemble</strong> Event Log page has two display areas, one above the other. The top display lists the event log entries recorded<br />
since the production was last started. The bottom display permits you to enter search criteria to filter the list of events. If<br />
the top display is empty when you first open it, click the Search command in the bottom display.<br />
7.1 Event Log Entries<br />
The Event Log top display contains a table. Each row in the table provides the following columns of information about an<br />
event:<br />
• # — An incremental count of the number of entries in the table.<br />
• ID — The unique identifier for the message that comprises this event log entry.<br />
• Time Logged — The date and time when this entry was logged.<br />
• Type — Indicates the type of entry: Alert, Assert, Error, Info, Status, Trace, or Warning.<br />
• Job — The system job that hosted the event.<br />
• Session — The unique identifier for the session that is (or was) associated with this message. A session marks the<br />
beginning and end of all the activities prompted by a primary request message from outside <strong>Ensemble</strong>. The primary<br />
request message has an ID value that is identical to the Session. Several additional messages may be instantiated within<br />
<strong>Ensemble</strong> during the session, in order to fulfill the primary request. All of these messages share the same Session, but<br />
each has a different ID value.<br />
The Session number is a link; click on it to view a visual trace of the session.<br />
• Source — The configuration item (service, process, or operation) that sent the message.<br />
• Method — The host class method that was in progress when the event was logged.<br />
• Text — The text string associated with the event log entry.<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 67
Event Log<br />
7.2 Event Log Filter<br />
If you do not see the message you want to view in the Event Log page, you can filter the list of entries. To do so, enter<br />
values in the fields in the lower portion of the page to search for a particular class of event log entries, as follows:<br />
• SortOrder — Select a value from the list: Oldest First or Newest First.<br />
• TimeFormat — Select a value from the list: Time Only or Complete (time with date).<br />
• Source — Enter a value in this field to list all the events logged by a specific host class.<br />
• Method — Enter a value in this field to list all the events logged by a specific method.<br />
• Text — Enter a value in this field to list all the events whose text contains this string.<br />
• Job — Enter a value in this field to find events hosted by a specific system job.<br />
• Color By — Choose a criterion from the list: TimeLogged, Type, Job, Session, Source, Method, Text, or none (blank).<br />
The background color of rows in the Event Log table changes according to your choice.<br />
If the Color By selection is blank, the default background color indicates the event Type as follows:<br />
Color<br />
Yellow, with bold red text<br />
Silver, with red text<br />
Pink, with bold red text<br />
Green, with bold yellow text<br />
Blue, with bold yellow text<br />
Light blue<br />
Orange<br />
White<br />
Indication<br />
Alert<br />
Assert<br />
Error<br />
Production start<br />
Production stop<br />
Trace<br />
Warning<br />
(all others)<br />
• MaxRows — The maximum number of event log entries to display as a result of the search. If more matches are found,<br />
a message displays at the bottom of the table: There is more data. To display the additional data, change the<br />
MaxRows value and click Search again.<br />
• StartId — Enter the lower limit of a range of ID values.<br />
• EndId — Enter the upper limit of a range of ID values.<br />
• StartTime — Enter the lower limit of a range of TimeLogged values.<br />
• End Time — Enter the upper limit of a range of TimeLogged values.<br />
• Session Id — Find all the event log entries associated with a particular session.<br />
• At right, a column of check boxes allows you to limit the display to specific types of event: Assert, Error, Warning,<br />
Info, Trace, or Alert.<br />
Note: Most of these fields support the use of the SQL Like wildcard character (%).<br />
After you have edited these fields, you can click one of the commands at the bottom of the screen:<br />
• Click Search to sort the list of event log entries in the top display using the criteria shown in the bottom display.<br />
68 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
Event Log Purge<br />
• Click Reset to redisplay the entries in their default order and return the fields in the bottom display to their default<br />
values.<br />
After you click Search or Reset, the Event Log page refreshes.<br />
7.3 Event Log Purge<br />
You can purge outdated records from the <strong>Ensemble</strong> event log by clicking the Purge command at the top of the Event Log<br />
display. A dialog appears in the bottom half of the screen.<br />
The fields in this form allow to you purge event log entries as follows:<br />
• Type of Record — You are purging the Event Log.<br />
• Current Count — The number in this column reflects the total number of event log entries that are now in the persistent<br />
store for this production. Use the Current Count to decide whether or not it is worthwhile to purge the event log at this<br />
time.<br />
• Do not purge most recent — This is the parameter for the purge operation. It tells <strong>Ensemble</strong> how many days’ worth of<br />
event log entries to keep. The number can be 0 (zero), which keeps nothing and delete all entries that exist at the time<br />
of the purge operation. The default value for Do not purge most recent is 7, which keeps entries for the last seven days.<br />
The count of days includes “today,” so keeping messages for 1 day keeps the messages generated on the current day,<br />
according to local server time.<br />
At the bottom of the display area is the Start Purge command. If you click this command, <strong>Ensemble</strong> immediately purges<br />
the event log according to the parameters you have entered in the dialog.<br />
CAUTION:<br />
You cannot undo the Start Purge operation.<br />
Note: You can also purge event log entries along with other management data using the [<strong>Ensemble</strong>] > [Maintenance] ><br />
[Purge] page.<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 69
8<br />
Message Browser<br />
The <strong>Ensemble</strong> Message Browser allows you to find and view information about the messages that your <strong>Ensemble</strong> production<br />
has sent or queued. You can navigate to this page in the <strong>Ensemble</strong> Management Portal in one of the following ways:<br />
• Click Message Browser on the <strong>Ensemble</strong> menu.<br />
• Click Show Messages at the top of the [<strong>Ensemble</strong>] > [Maintenance] > [Purge] page.<br />
There is no menu on the <strong>Ensemble</strong> Message Browser page. You can return to the <strong>Ensemble</strong> home page by clicking<br />
[<strong>Ensemble</strong>] in the navigation path.<br />
The Message Browser features two display areas, one above the other:<br />
• Message List — The upper display lists messages in the persistent message store for the selected namespace.<br />
• Message Filter — The lower display permits you to enter search criteria to filter the list of messages.<br />
If the upper display is empty, click Search in the lower display. If the lower display is empty, click [Messages] in the navigation<br />
path.<br />
The <strong>Ensemble</strong> Message Browser also contains two commands above the message list:<br />
• Compare Messages — Click to display the message contents of two messages side by side; choose them by selecting<br />
the check box next to exactly two messages in the list. (To return to the Message Browser page from the contents display,<br />
click the browser’s Back command.)<br />
• Resend Messages — Click after selecting the check box of one or more messages to navigate to the Resend Messages<br />
page.<br />
8.1 Message List<br />
The Message Browser upper display contains a table. Each row in the table provides the following columns of information<br />
about a message:<br />
• Check box — Mechanism for selecting messages for the compare and resend commands.<br />
• # — An incremental count of the number of entries in the table.<br />
• ID — The unique identifier for the instantiated message; the object identifier () of the message header.<br />
• TimeCreated — The date and time when this message was instantiated.<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 71
Message Browser<br />
• Session — The unique identifier for the session that is (or was) associated with this message. A session marks the<br />
beginning and end of all the activities prompted by a primary request message from outside <strong>Ensemble</strong>. The primary<br />
request message has an ID value that is identical to the Session. Several additional messages may be instantiated within<br />
<strong>Ensemble</strong> during the session to fulfill the primary request. All of these messages share the same Session, but each has<br />
a different ID value.<br />
You can click the Session number in any row of the table to see a visual trace of the message object through the production.<br />
• Status — Indicates the status of the message within its normal life cycle: Created, Queued, Delivered, Deferred,<br />
Completed, Discarded, or Suspended. If there is a request-response pair, the value does not indicate an overall status<br />
for the pair; a request may end up with a different Status from its corresponding response.<br />
A message in transit has a Status of Created, until it finds its place on a queue, when it becomes Queued. A message<br />
that reaches its destination is at first Delivered, then finally Completed. An asynchronous response is Discarded if it<br />
arrives after the timeout period for the corresponding request expired. A message response can been Deferred by a<br />
business operation to be sent later on; when a Deferred message is finally sent, it has a Status of Completed.<br />
Some business operations are designed to set the status of any failed messages to Suspended. Alternatively, an<br />
administrator can suspend a message from the Instances display on the [<strong>Ensemble</strong>] > [Host Monitor] page. In either<br />
case, such a message goes on a special queue where <strong>Ensemble</strong> keeps all Suspended messages. An administrator can<br />
use the [<strong>Ensemble</strong>] > [Maintenance] > [Suspended] page to examine Suspended messages, diagnose the problem, and<br />
if possible resend the Suspended messages after the problem is fixed.<br />
• Error — A quick overview of the results returned by the message to the configuration item that sent it, the Error field<br />
can have the values OK, Error, Retry, or Inactive.<br />
OK means normal behavior; Retry means the message experienced a failure but the item that sent it is configured to<br />
retry the failed message. Error means an error was reported somewhere in the activity. Inactive means that the item<br />
that sent the message has been idle for longer than its Inactivity Timeout setting, and may require diagnostic action.<br />
When you filter messages for diagnostic purposes, you can use the Error field to quickly select only those messages<br />
with errors.<br />
• Source — The configuration item (service, process, or operation) that sent the message.<br />
To the right of each row are four commands which you can click to display additional message information:<br />
• Details — Display the fields in the message object in the bottom half of the Message Browser display.<br />
• Contents — View the contents of the message body in an appropriate format.<br />
• Trace — Visually trace the path of the message object through the production.<br />
• Report — Display all the fields in the message header and message body in XML format.<br />
The default background color of rows in the Message Browser table indicates the message’s Status as shown in the following<br />
table.<br />
Color<br />
Red<br />
Orange<br />
Green<br />
Silver<br />
Orange<br />
Indication<br />
The message encountered an Error.<br />
The message is Queued.<br />
The message marks the start of a session.<br />
The message arrived after a timeout expired and is marked as Discarded.<br />
The message is Suspended.<br />
72 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
Message List<br />
Color<br />
White and pale blue,<br />
in alternating rows<br />
Indication<br />
These messages are OK.<br />
8.1.1 Message Details<br />
If you select a message in an <strong>Ensemble</strong> Management Portal page and click Details, additional message information displays<br />
in the lower portion of the screen.<br />
You can display message details by clicking Details next to the message displayed on the following pages of the <strong>Ensemble</strong><br />
Management Portal:<br />
• [<strong>Ensemble</strong>] > [Messages]<br />
• [<strong>Ensemble</strong>] > [Messages] > [Visual Trace] (click on a specific message in the trace)<br />
• [<strong>Ensemble</strong>] > [Queues] > [Contents]<br />
• [<strong>Ensemble</strong>] > [Maintenance] > [Suspended]<br />
Details of the selected message display in the lower portion of the page. The left side of the display shows the entire contents<br />
of the Message Header. Fields include:<br />
• Type — The message type, Request or Response.<br />
• — The object identifier for the message header. Whenever a message header and message body are combined<br />
together as a message, the ObjectId value in the header is used to identify the combined message object. As a result,<br />
this value is the same as the message ID listed in the Message Browser and other pages in the <strong>Ensemble</strong> Management<br />
Portal.<br />
• Priority — The priority of the message relative to others in the queue: RealTime (1), High (2), Normal (3), or Low (4).<br />
The <strong>Ensemble</strong> messaging engine assigns priority values to messages automatically, in the course of normal processing,<br />
for its own use. Message priority cannot be programmed into a message class or configured in any way. Priority values<br />
are based in part on whether the message is synchronous (High) or asynchronous (Normal). Also, messages that start<br />
or stop a production are assigned greater priority than other types of message.<br />
• Invocation — The style of invocation for message: Queue or Inproc.<br />
Inproc means the message is formulated, sent, and delivered in the same process in which it was created. The job is<br />
not released to the sender’s pool until the message is delivered to the target.<br />
Queue means the message is created in one job, then placed on a queue, at which time the original job is released.<br />
Later, when the message is processed, a different job is allocated for the task.<br />
• TimeCreated — The message creation time stamp. For Queue messages, this is the time when <strong>Ensemble</strong> placed this<br />
message on the queue. For Inproc messages, this is the time when <strong>Ensemble</strong> called the Send method.<br />
• TimeProcessed — The message usage time stamp. For Queue messages, this is the time when <strong>Ensemble</strong> took the<br />
message off the queue to be processed. For Inproc messages, this is the time when <strong>Ensemble</strong> began processing the<br />
message. For Inproc messages, TimeProcessed will be very close to TimeCreated.<br />
• Status — Indicates the status of the message within its normal life-cycle: Created, Queued, Delivered, Deferred,<br />
Completed, Discarded, or Suspended. If there is a request-response pair, the value does not indicate an overall status<br />
for the pair; a request may end up with a different Status from its corresponding response.<br />
A message in transit has a Status of Created, until it finds its place on a queue, when it becomes Queued. A message<br />
that reaches its destination is at first Delivered, then finally Completed. An asynchronous response is Discarded if it<br />
arrives after the timeout period for the corresponding request expired. A message response can been Deferred by a<br />
business operation to be sent later on; when a Deferred message is finally sent, it has a Status of Completed.<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 73
Message Browser<br />
Some business operations are designed to set the status of any failed messages to Suspended. Alternatively, an<br />
administrator can suspend a message from the Instances display on the [<strong>Ensemble</strong>] > [Host Monitor] page. In either<br />
case, such a message goes on a special queue where <strong>Ensemble</strong> keeps all Suspended messages. An administrator can<br />
use the [<strong>Ensemble</strong>] > [Maintenance] > [Suspended] page to examine Suspended messages, diagnose the problem, and<br />
if possible resend the Suspended messages after the problem is fixed.<br />
• IsError — An integer value of 1 means that IsError is true; the message encountered an error. A value of 0 means<br />
IsError is false; the message did not encounter any errors.<br />
• ErrorStatus — If IsError is 1, then this is the text associated with the error. When IsError is 0, ErrorStatus is the string<br />
“OK”.<br />
• CorrespondingMessageId — If the message Type is a Response, this field contains the ObjectId of the corresponding<br />
request. If the message Type is a Request, this field contains the ObjectId of the corresponding response (if any) or it<br />
is blank.<br />
• SessionId — The unique identifier for the session that is (or was) associated with this message. A session marks the<br />
beginning and end of all the activities prompted by a primary request message from outside <strong>Ensemble</strong>. The primary<br />
request message has an ID value that is identical to the SessionId. Several additional messages may be instantiated<br />
within <strong>Ensemble</strong> during the session, in order to fulfill the primary request. All of these messages share the same SessionId,<br />
but each has a different ID value.<br />
• SourceConfigName — The name of the configuration item that sent the message.<br />
• TargetConfigName — The name of the configuration item that was intended to receive the message.<br />
• SourceBusinessType — BusinessService, BusinessProcess, BusinessOperation, or Unknown.<br />
• TargetBusinessType — BusinessService, BusinessProcess, BusinessOperation, or Unknown.<br />
• BusinessProcessId — Every business process that gets executed has an instance and this is the object ID of that instance.<br />
If the message is a request, this field identifies the business process in whose context the message was created (sender).<br />
If the message is a response, this field identifies the business process to which it is being returned (receiver). This field<br />
is empty in various circumstances, for example if an error occurred.<br />
• TargetQueueName — The destination “address” for the message: Where is it going The TargetQueueName may be a<br />
name or a number. A name identifies a public queue, such as Ens.Actor. A number is the job ID associated with the<br />
private queue of a business host.<br />
• ReturnQueueName — The return “address” for the message: Where did it come from The ReturnQueueName may<br />
be a name or a number. A name identifies a public queue, such as Ens.Actor. A number is the job ID associated with<br />
the private queue of a business host. The ReturnQueueId value is listed even if there is no response expected or needed<br />
for a particular request message type.<br />
• MessageBodyClassName — The class name for the message body.<br />
• MessageBodyId — The object identifier for the message body. This field matches the field in the Message<br />
Body table.<br />
The right side displays the Message Body information. Fields include:<br />
• Message Body: Message Type — The message body class name.<br />
• If the message body is a standard <strong>Ensemble</strong> message body object, a table displays the following information:<br />
– — The object identifier for the message body. This field matches the MessageBodyId field in the<br />
Message Header table.<br />
– The name and value of each property in the Message Type class.<br />
If the message body is any other type, there are no additional fields in the display.<br />
74 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
Message List<br />
• Contents — Click to view the message contents.<br />
8.1.2 Message Contents<br />
If you select a specific message in an <strong>Ensemble</strong> Management Portal page and request to view its contents, the information<br />
displays in the lower half of the screen.<br />
You can display message contents from various locations in the <strong>Ensemble</strong> Management Portal, as follows:<br />
• [<strong>Ensemble</strong>] > [Messages]:<br />
– Select a message and click Contents<br />
– Select two check boxes in the column at far left, and click Compare Messages. This displays the contents of two<br />
messages side by side. To return to the [<strong>Ensemble</strong>] > [Messages] page, click the browser’s Back command.<br />
– While viewing message Details, click Contents.<br />
• [<strong>Ensemble</strong>] > [Messages] > [Visual Trace] — Select a message and click Contents.<br />
The standard <strong>Ensemble</strong> message body appears in colorized XML format, as shown in the following example:<br />
Figure 8–1: Standard <strong>Ensemble</strong> Message Body Contents in XML Format<br />
A virtual document, such as an HL7 message, appears in segments, with one segment visible per line, as shown in the following<br />
figure:<br />
Figure 8–2: HL7 Virtual Document Contents in Message Segment Format<br />
For HL7 messages, from left to right, each line displays:<br />
• The segment number on a white background: 1, 2, 3, etc.<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 75
Message Browser<br />
• The segment name on a shaded background: MSH, PID, etc. If you hover the cursor over a segment name in the shaded<br />
column, a tooltip describes the purpose of the message segment.<br />
• The field contents and separator characters as provided in the message. If you hover the cursor over a field in this display,<br />
a tooltip provides syntax information that a developer can use to access fields within the message body from <strong>Ensemble</strong><br />
data transformations and routing rules.<br />
To view the contents of an entire virtual document, it may be necessary to drag the bottom scroll bar far to the right,<br />
depending on the amount of data in the message. For more about working with HL7 messages in the <strong>Ensemble</strong> Management<br />
Portal, see the “Viewing and Transforming HL7 Messages” chapter in the <strong>Ensemble</strong> HL7 Version 2 Development Guide.<br />
For more about virtual documents, see <strong>Ensemble</strong> Virtual Documents.<br />
8.1.3 Visual Trace<br />
Click Trace next to a message in the <strong>Ensemble</strong> Management Portal to display the [<strong>Ensemble</strong>] > [Messages] > [Visual Trace]<br />
page. The <strong>Ensemble</strong> Visual Trace page visually traces a specific message instance as it travels (or as it did travel) through<br />
the currently running production. You can also optionally display any relevant entries logged within the <strong>Ensemble</strong> event<br />
log among the messages in the trace.<br />
You can display the Visual Trace page by clicking Trace from the following pages in the <strong>Ensemble</strong> Management Portal:<br />
• [<strong>Ensemble</strong>] > [Messages]<br />
• [<strong>Ensemble</strong>] > [Queues] > [Contents]<br />
• [<strong>Ensemble</strong>] > [Maintenance] > [Suspended]<br />
• [<strong>Ensemble</strong>] > [Testing Service - 4 of 4] results page, after a testing session<br />
There is no menu on the Visual Trace page. You can return to the home page by clicking [<strong>Ensemble</strong>] in the navigation path.<br />
Under the Visual Trace page title bar are two display areas, one above the other. The top display contains a visual representation<br />
of message activity. The bottom display contains fields that permit you to select messages for visual display. You<br />
can drag the boundary between the displays to resize them as needed. In some cases you must use the scroll bars to see the<br />
full contents of either display.<br />
The Visual Trace page top display has three columns. Each column represents an <strong>Ensemble</strong> configuration item that can<br />
exchange messages with the other <strong>Ensemble</strong> configuration items shown on the page. These are:<br />
• Business Services (the column at left)<br />
• Business Processes (the column at center)<br />
• Business Operations (the column at right)<br />
76 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
Message List<br />
Figure 8–3:The Visual Trace Page<br />
When a message has traveled from one item to the next, an arrow connects the two items. The arrow is a horizontal line<br />
across the vertical columns that represent the items: Services, Processes, or Operations. The direction of the arrow indicates<br />
the path of the message, as follows:<br />
• The source item, marked with a circle, is the item that sends the message. The arrow points away from the source item.<br />
• The target item, marked with a rounded rectangle, is the item that receives the message. The arrow points toward the<br />
destination item.<br />
Each arrow in the Visual Trace page carries three fields of information:<br />
• A number in square brackets at left is the message identifier — the ID field displayed in the Message Browser display.<br />
If there are multiple messages in the Visual Trace display you can distinguish between them easily using this number.<br />
• A date and time above the arrow identifies TimeCreated — the date and time when this message was instantiated.<br />
• The name below the arrow is the message name. The configuration item that sent the message is identified at the top<br />
of the column. Items are grouped from left to right, as follows: Services, Processes, and Operations.<br />
Normal request message arrows are blue; responses are green. If a message encountered an error, its arrow is red.<br />
If there are more than 100 messages in the Visual Trace display, the list is displayed in groups of 100. At the bottom of the<br />
page is a row of commands that you can click to choose which group of messages to view: 0–100, 101–200, 201–300, and<br />
so on.<br />
If you click on an arrow in the Visual Trace page, the definition of that specific message is displayed in the bottom half of<br />
the screen. This is the same display that you see when you click Details in the [<strong>Ensemble</strong>] > [Messages] page.<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 77
Message Browser<br />
When you have selected a message in the Visual Trace page, you can click Contents to view the contents of the message<br />
in an appropriate format.<br />
You can right-click anywhere on the diagram in the top display to reveal the Visual Trace page context menu. The following<br />
menu options are available:<br />
• Zoom — Choose a zoom factor for the Visual Trace diagram. Choose a large factor to view details, a small factor to<br />
gain an overview.<br />
• Search — Search for a message according to the search criteria entered in the bottom half of the display.<br />
• Find, Find Again — Search for a text string in the underlying XML document. When found, the corresponding string<br />
is highlighted in the Visual Trace page top display.<br />
• Left-click on a segment in the Visual Trace page top display to select it. Right-click and choose Show Details. The<br />
bottom display provides detailed information about that segment of the message’s path through the production.<br />
• Left-click on a segment in the Visual Trace page top display to select it. Right-click and choose Show Contents. The<br />
bottom display shows the message contents that were transmitted on this segment of the message’s path through the<br />
production.<br />
• Legend — Reveal a popup guide to the conventions used for message arrows. This guide is the Visual Trace Legend,<br />
shown in the following figure:<br />
• View Source — Display the SVG code that displays the diagram.<br />
• About SVG Viewer — Display version and copyright information about the SVG Viewer used by the Visual Trace page.<br />
Note:<br />
When you view calls in the Visual Trace, synchronous calls from business processes are portrayed as if they were<br />
asynchronous. This does not change the fact that the calls are actually synchronous. It is a side effect of the<br />
internal tracking mechanism that <strong>Ensemble</strong> uses to free system resources while it is waiting for a synchronous<br />
call to return.<br />
When you are done viewing the top half of the Visual Trace page, there are fields in the bottom half of the Visual Trace<br />
page that allow you to select further messages for viewing. If these selection fields are not currently displayed, you can<br />
display them by clicking [Visual Trace] in the navigation bar. This action empties the top display and refreshes the bottom<br />
display with the following fields:<br />
• SessionId — Enter a session identifier, if you know a specific session by number. A session marks the beginning and<br />
end of all the activities prompted by a primary request message from outside <strong>Ensemble</strong>. The primary request message<br />
78 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
Message Filter<br />
has an ID value that is identical to the SessionId. Several additional messages may be instantiated within <strong>Ensemble</strong><br />
during the session, in order to fulfill the primary request. All of these messages share the same SessionId, but each has<br />
a different ID value.<br />
• StartId — Enter the lower limit of a range of message ID values.<br />
• EndId — Enter the upper limit of a range of message ID values.<br />
• StartTime — Enter the lower limit of a range of TimeCreated values.<br />
• EndTime — Enter the upper limit of a range of TimeCreated values.<br />
• MaxMessages — The maximum number of messages to display as a result of the search. If more matches are found,<br />
they will not be displayed. Enter a number. The default is 50.<br />
Enter information in these fields and click Search. The Visual Trace top display changes accordingly.<br />
If you do not know the Search details, you cannot continue to use the Visual Trace page. You must first return to the<br />
[<strong>Ensemble</strong>] > [Messages] page to get an idea of what you need, then click Trace next to an entry in the Message Browser<br />
table.<br />
8.2 Message Filter<br />
If you do not see the message you want to view in the Message Browser page, you can filter and search the list of messages<br />
using fields that appears in the bottom half of the screen. There are many options for the filtering task; this topic explains<br />
them in detail.<br />
You can archive a specific set of filter criteria and retrieve it for later use. If you are using an archived filter of this kind,<br />
its name appears at the top of the Message Browser filter display. Below this is a row of commands:<br />
• Search — Sort the message list using the criteria in the bottom display.<br />
• Reset — Redisplay the message list using the default filter criteria.<br />
• Open — Retrieve a previously archived search. <strong>Ensemble</strong> displays a list of the saved searches in this namespace.<br />
Choose one and click OK.<br />
• Save — Save the current search to an archive so that you can retrieve it during a later session. If you are using a previously<br />
archived search, the Save operation overwrites it.<br />
• Save As — Save the current search to a new archive. <strong>Ensemble</strong> displays a dialog in which to enter the name of the<br />
search. Type a name and click OK.<br />
8.2.1 Basic Filter Terms<br />
To refine search criteria, you can edit the following fields in the Message Browser page:<br />
• Type — Choose a value from the list: Session Start, Request, Response, or All (the default).<br />
• Time Format — Select a value from the list: Time Only or Complete (time with date).<br />
• Start Time — Enter the lower limit of a range of Time Created values.<br />
• End Time — Enter the upper limit of a range of Time Created values.<br />
• Sort Order — Select Oldest First or Newest First.<br />
• Color By — Choose a criterion from the list: TimeCreated, SessionId, Status, Error, Source, or none (blank). The<br />
background color of rows in the Message Browser table changes according to your choice.<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 79
Message Browser<br />
If the Color By selection is blank, the default background color indicates the message’s Status as described in the<br />
Message List section.<br />
• StartId — Enter the lower limit of a range of message ID values.<br />
• EndId — Enter the upper limit of a range of message ID values.<br />
• MaxRows — The maximum number of messages to display as a result of the search. If more matches are found, a<br />
message displays at the bottom of the table: “There is more data.” To display the additional data, change the MaxRows<br />
value and click Search again.<br />
• Is Error — Select a value from the drop-down list:<br />
– Select true to list only messages that encountered errors.<br />
– Select false to list only messages without errors.<br />
• Status — Choose a value from the list: Created, Queued, Delivered, Deferred, Completed, Discarded, or Suspended.<br />
• Source — The configuration item that sent the message. Enter a name in the text box. If the configuration name contains<br />
spaces, do not use single or double quotation marks around the string. Simply enter the configuration name, including<br />
any space characters.<br />
8.2.2 Detailed Filter Terms<br />
The Message Browser filter display also offers Detailed Filter Terms. This panel of the filter display allows you to select<br />
extremely specific criteria based on the message header or message body contents. The interface is similar to the Rules<br />
Editor interface. You can add rules and define conditions. You can build statements using comparison operators, and<br />
organize statements using the logical operators AND and OR.<br />
From left to right, the columns in each row of the Detailed Filter Terms interface are:<br />
1. Type — Choose a value from the drop-down list.<br />
2. Class Name — Click the More command (...) to choose from a list of classes.<br />
3. Conditions — Allows you to specify fields and values for your logical statement.<br />
The following topics describe how to construct a filter using the Detailed Filter Terms interface.<br />
8.2.2.1 Logical Statements<br />
Each row in the Detailed Filter Terms interface represents a logical statement. To add a statement, click Add. To delete a<br />
statement, click X. After you add multiple rows to the Detailed Filter Terms, you can click the up-arrow and down-arrow<br />
icons to adjust the order of statements.<br />
If you add multiple rows, they are implicitly joined by AND, so that if you have three statements visible:<br />
Logical Statement 1<br />
Logical Statement 2<br />
Logical Statement 3<br />
Your filter actually works like this:<br />
Logical Statement 1<br />
AND<br />
Logical Statement 2<br />
AND<br />
Logical Statement 3<br />
You can vary this convention by adding a row and choosing OR in the Type field, then adding a row with another logical<br />
statement. When you do this, it inserts a logical OR between rows. The row with OR in it has no other details, just the OR<br />
80 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
Message Filter<br />
selection in the Type field. Suppose you added an OR row and a fourth logical statement to the list shown above. The<br />
Detailed Filter Terms panel now looks like this:<br />
Logical Statement 1<br />
Logical Statement 2<br />
Logical Statement 3<br />
OR<br />
Logical Statement 4<br />
And the resulting logic is now:<br />
Logical Statement 1<br />
AND<br />
Logical Statement 2<br />
AND<br />
Logical Statement 3<br />
OR<br />
Logical Statement 4<br />
The operator AND binds more tightly than OR, so the effect of the above sequence is actually:<br />
(1 AND 2 AND 3) OR 4<br />
8.2.2.2 Filter Type<br />
In the Type column, choose a value from the drop-down list. The following table lists the Type choices and how they affect<br />
your subsequent choices in the Class Name and Conditions fields.<br />
Table 8–1: Options for Filter Type<br />
Type<br />
Body Property<br />
Header Field<br />
OR<br />
VDoc SearchTable Field<br />
VDoc Segment Field<br />
VDoc Property Path<br />
Class Name and Conditions refer to...<br />
Properties of a standard <strong>Ensemble</strong> message body object.<br />
Fields in a standard <strong>Ensemble</strong> message header object.<br />
(used to logical OR two filter terms)<br />
Entries in a search table class that you have defined in this <strong>Ensemble</strong> namespace.<br />
A search table class is a specialized tool that you create to work with virtual<br />
documents, a convention for representing Electronic Data Interchange (EDI)<br />
formats like HL7 Version 2 or X12.<br />
Fields in a virtual document message segment. Identify the standard (HL7 Version<br />
2 or X12) and the segment of interest. <strong>Ensemble</strong> then prompts you to choose<br />
from a list of fields in that segment.<br />
Fields in a virtual document message segment. Identify the standard (HL7 Version<br />
2 or X12) and then enter a virtual property path that identifies a message segment<br />
and field that is valid for that standard.<br />
Note:<br />
For background information about the VDoc fields in the Detailed Filter Terms interface, see <strong>Ensemble</strong> Virtual<br />
Documents. You do not need to use these fields unless your production routes HL7 Version 2 or X12 messages.<br />
8.2.2.3 Filter Class<br />
In the Class Name column, click ... (the More command). <strong>Ensemble</strong> displays a list of all the classes appropriate for the Type<br />
of message that you have chosen. For example:<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 81
Message Browser<br />
Table 8–2: Options for Filter Class<br />
Type<br />
Body Property<br />
Header Field<br />
OR<br />
VDoc SearchTable Field<br />
VDoc Segment Field<br />
VDoc Property Path<br />
Class Name<br />
Click ... and choose from all the message classes in the <strong>Ensemble</strong> namespace.<br />
—<br />
—<br />
Click ... and choose from all the search table classes in the <strong>Ensemble</strong> namespace.<br />
Click ... and choose from all the virtual document classes in the <strong>Ensemble</strong><br />
namespace.<br />
Click ... and choose from all the virtual document classes in the <strong>Ensemble</strong><br />
namespace.<br />
8.2.2.4 Filter Conditions<br />
In the Conditions column, specify fields and values for your logical statement, from left to right, as follows:<br />
1. Click .... <strong>Ensemble</strong> displays a list of choices appropriate for the Type and Class Name that you have chosen in this row.<br />
For further instructions, see the first table below.<br />
2. Choose a comparison operator from the drop-down list. See the second table below.<br />
3. Type an expression that you intend to match using the selected operator.<br />
Choices in the Conditions panel vary according to your choice of Type. The following table describes the choices.<br />
Table 8–3: Fields and Properties for Message Filter Conditions<br />
Type<br />
Body Property<br />
Header Field<br />
OR<br />
VDoc<br />
SearchTable<br />
Field<br />
Conditions<br />
Click ... and choose from a list of all the properties in the Class Name message class.<br />
—<br />
—<br />
Click ... and choose from a list of all the search table entries defined in the Class Name<br />
search table class.<br />
82 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
Message Filter<br />
Type<br />
VDoc Segment<br />
Field<br />
Conditions<br />
You may use the Conditions panel as follows:<br />
1. Ensure that the left-hand Conditions field is empty.<br />
2. Click ... and when prompted, click OK.<br />
3. Choose a schema category and segment name from a list of supported schema<br />
categories and segment names. The contents of this list depend on your Class Name<br />
choice of virtual document type. Click OK to save your selections.<br />
4. A list of fields in the chosen segment displays. Choose a field and click OK.<br />
5. The resulting entry in the left-hand Conditions field looks something like this. This is<br />
an HL7 example. Different specific syntax is offered for X12, but the idea is the same:<br />
2.3.1:[PID:PatientAddress().city]<br />
Instead of selecting options to fill the left-hand Conditions field, you can type a string into<br />
the field, as long as you are careful to use the correct syntax. For HL7, you can type a<br />
numeric references if you prefer them to names, for example [5], [18.1], or 2.3.1:[3().1].<br />
You may edit out the category reference and colon prefix, but keep the square brackets<br />
and their contents intact.<br />
Square brackets differ from curly brackets in that square brackets enclose a segment:field<br />
combination that does not require you to identify its containing message structure. In the<br />
example above, <strong>Ensemble</strong> matches any message structure in the 2.3.1 schema category<br />
that contains a PID segment with a PatientAddress().city field .<br />
VDoc Property<br />
Path<br />
You may use the Conditions panel as follows:<br />
1. Ensure that the left-hand Conditions field is empty.<br />
2. Click ... and when prompted, click OK.<br />
3. Choose a schema category and message structure from a list of supported schema<br />
categories and message structures. The contents of this list depend on your Class<br />
Name choice of virtual document type. Click OK to save your selections.<br />
4. A list of segments and fields in the chosen message structure displays. Choose a<br />
segment:field combination and click OK.<br />
5. The resulting entry in the left-hand Conditions field looks something like this. This is<br />
an HL7 example. Different specific syntax is offered for X12, but the idea is the same:<br />
2.3:ADT_A06:{MSH:SendingFacility.namespaceID}<br />
Instead of selecting options to fill the left-hand Conditions field, you can type a virtual<br />
property path into the field, as long as you are careful to use the correct syntax. Curly<br />
bracket syntax requires a specific message structure, such as ADT_A06, to be identified.<br />
The comparison operator between the two values in a Conditions statement can be any one of the following.<br />
Table 8–4: Comparison Operators for Message Filter Conditions<br />
Operator<br />
=<br />
!=<br />
The condition is true when the value at left is...<br />
Equal to the value on the right.<br />
Not equal to the value on the right.<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 83
Message Browser<br />
Operator<br />
><br />
>=<br />
<<br />
, >=,
Resend Messages<br />
8.3 Resend Messages<br />
Your production may have circumstances when something goes wrong with a message and you wish to resend it, or you<br />
want to edit the content of the message before resending it. Select one or more check boxes in the column at the far left of<br />
each message you want to resend on the <strong>Ensemble</strong> Message Browser page and click Resend Messages. The [<strong>Ensemble</strong>] ><br />
[Messages] > [Resend] page displays a table of information about the selected messages. The list displays message information<br />
as described in the following table.<br />
Column<br />
Session<br />
Header<br />
Msg Body<br />
Created<br />
Source<br />
Target<br />
Description<br />
The unique identifier of the session to which this message belongs. Click to view the visual<br />
trace of the primary message object through the production.<br />
The unique identifier for the message header object. The Header number is the same as the<br />
Session number only if this message is the primary request message. Otherwise, it may be<br />
one of the subsequent messages that fulfills the original request. Click to view the visual trace<br />
of this specific message.<br />
The unique identifier for the message body object. Click to view the message contents.<br />
The message time stamp. For Queue messages, this is the time when <strong>Ensemble</strong> placed this<br />
message on the queue. For Inproc messages, this is the time when <strong>Ensemble</strong> called the<br />
Send method.<br />
The name of the configuration item that sent the message.<br />
The name of the configuration item that is the intended recipient of the message; this field<br />
also indicates if the production target is not running.* Click to see the contents of the target’s<br />
message queue.<br />
* You cannot resend a message if the intended target is not running.<br />
Above the list of selected messages next to Resend these messages is a choice of commands to perform on these messages:<br />
• No — Cancel the resend operation and empty the list of messages on the Resend page. Click [Messages] in the navigation<br />
path to return to the <strong>Ensemble</strong> Message Browser page.<br />
• Yes — Resend the messages, either to the original Target, or to the item you identify in the Set New Target field. When<br />
you click Yes, the message table displays with an additional Resend Status column on the left. Any status other than<br />
OK indicates that the resend operation failed.<br />
Any message that you resend retains the same Session identifier and transmits the same Msg Body object, but it acquires<br />
a new Header object with a new identifier to mark its additional trip through the production. Click the Header identifier<br />
to see a visual trace, including both the original message transmission and any resend operations that involve the same<br />
Session and Msg Body. The description in the new message header contains text including the original Header object<br />
identifier indicating that this message has been resent.<br />
• Edit then Resend — Edit a single message before resending; this command is only available if you select exactly one<br />
message on the <strong>Ensemble</strong> Message Browser page. See the Resend Editor section for details.<br />
• Set New Target — You may choose a different Target destination for the message. This must be the name of a configuration<br />
item within the same production. The Set New Target field offers a list of business hosts.<br />
You also have the option to select a check box to Insert resubmitted messages at head of Queue.<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 85
Message Browser<br />
8.3.1 Resend Editor<br />
When you select one message to resend from the <strong>Ensemble</strong> Message Browser page, you have the option to edit the body<br />
of the message before resending it.<br />
1. Click Edit then Resend to display the <strong>Ensemble</strong> Resend Editor page.<br />
2. Use the entry fields to update the message body data. The fields vary depending on the method signature of the message.<br />
If the method has no properties, none are displayed.<br />
If you are editing a virtual document message (HL7, X12), you can edit data in the message content and also edit object<br />
properties in the box below the content box.<br />
3. Click Resend to send a new copy of the message header with your edited message body contents to the target.<br />
4. After a successful resend, the page refreshes with text indicating the new Header and Msg Body identifiers. Click Trace<br />
to see the visual trace of the resent message.<br />
Any message that you edit and then resend retains the same Session identifier, but acquires a new Header object with a<br />
new identifier to mark its additional trip through the production and transmits a new Msg Body object with the updated<br />
data. The visual trace includes both the original message transmission and any resend operations that involve the same<br />
message. The description in the message header contains text indicating this message has been resent; the description<br />
includes the original along with any subsequent header object identifiers.<br />
86 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
9<br />
Business Processes<br />
The [<strong>Ensemble</strong>] > [Business Processes] page allows you to view information about business processes in the currently<br />
running production. Some of the information describes the underlying host classes; other information shows current instances<br />
of configured business processes that are active within the production.<br />
You can display the Business Processes page from the <strong>Ensemble</strong> Management Portal as follows:<br />
• Main menu — Choose the Business Processes option.<br />
• [<strong>Ensemble</strong>] > [Maintenance] > [Purge] — Click the Show Business Processes command at the top of the page.<br />
There is no menu on the Business Processes page. You can return to the home page by clicking [<strong>Ensemble</strong>] in the title bar<br />
navigation path.<br />
At far right, the title bar provides a Namespace list that you can use to switch to a different <strong>Ensemble</strong> namespace. There is<br />
also a Go to list that you can use to return to previously visited pages in the <strong>Ensemble</strong> Management Portal or System<br />
Management Portal.<br />
9.1 Business Process List<br />
Under the Business Processes page title bar is a table called Defined Business Processes. Each row of the table lists one<br />
of the business processes known to the currently selected <strong>Ensemble</strong> namespace. All items are listed. Some may be instantiated<br />
by the currently running <strong>Ensemble</strong> production, some may not. Each row of the table begins with the following column:<br />
• Name — The configured name of the business process.<br />
To the right of each row in the table are three commands that you can click to display detailed information about the business<br />
process:<br />
• Click Definition to display a BPL diagram of the underlying host class for the business process.<br />
• Click Instances to list any current instances of the business process in the currently running production. If a business<br />
process has completed its work, there is no entry for it on this page.<br />
• Click RuleLog to view a record of business rules invoked by this business process.<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 87
Business Processes<br />
9.2 BPL Viewer<br />
The [<strong>Ensemble</strong>] > [Business Processes] > [BPL Viewer] page displays a BPL diagram of the underlying host class for the<br />
business process, if a diagram is available. You can display this page from various locations in the <strong>Ensemble</strong> Management<br />
Portal, as follows:<br />
• [<strong>Ensemble</strong>] > [Business Processes] — Click Definition next to the business process name.<br />
• From the configuration diagram on the [<strong>Ensemble</strong>] > [<strong>Productions</strong>] page — While configuring a business process, click<br />
the BPL Definition command.<br />
There is no menu on the BPL Viewer page. You can return to the home page by clicking [<strong>Ensemble</strong>] in the title bar navigation<br />
path.<br />
Figure 9–1:The BPL Viewer Page<br />
Under the BPL Viewer page title bar are two display areas, one above the other. The top display shows the graphical view<br />
of the underlying host class for the currently selected business process. This is the same BPL diagram that you can create,<br />
edit, or view in the <strong>Ensemble</strong> Studio environment. The bottom display provides read-only information about the class and<br />
about the BPL diagram. You can drag the boundary between the displays to resize them as needed. In some cases you must<br />
use the scroll bars to see the full contents of either display. If there is no BPL diagram of the class available, the page reports<br />
this and nothing is shown in either display.<br />
When there is a BPL diagram available in the top display, you can click on the diagram and then right-click to reveal the<br />
BPL Visual Editor context menu. This is the same menu that is available when you are working in the BPL Visual Editor<br />
in the Studio tool. In the BPL Viewer page, the following view-only options are enabled for the context menu:<br />
• Zoom — Choose a zoom factor for the BPL diagram. Choose a large factor to view details, a small factor to gain an<br />
overview.<br />
88 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
BPL Viewer<br />
• Show Annotation — When this option is selected, reveal the text notes that explain each shape; otherwise, conceal<br />
them. When you reveal annotations, they appear to the upper right of each shape that has an element in<br />
the BPL document.<br />
• Arrange Layout — Auto-arrange the position of shapes in the diagram.<br />
• Validate Activity — You can select one of the items in the diagram and choose the context menu Validate Activity<br />
command to make sure it is properly defined.<br />
• Rules Editor — If you select a element in the diagram you can choose the Rules Editor command to open the<br />
associated rule set on the [<strong>Ensemble</strong>] > [Business Rules] > [Business Rule Editor] page.<br />
• Drill Down, Drill Up — An activity that consists of several sub-activities displays an square icon that contains a plus<br />
sign or a circular arrow. Click on this icon to drill down for details about the activity. Alternatively, you can select the<br />
activity, right-click, then choose Drill Down from the context menu. In either case, a BPL diagram of activity details<br />
displays. To return to the higher level, right-click and choose Drill Up.<br />
• Find, Find Again — Find and Find Again let you search for a text string in the underlying BPL document. When found,<br />
the corresponding string is highlighted in the BPL diagram.<br />
• View Source — Display the SVG code that displays the diagram.<br />
• About SVG Viewer — Displays version and copyright information about the SVG Viewer used by the BPL Visual<br />
Editor.<br />
When there is a BPL diagram available, several data fields appear in the bottom display. You cannot edit these fields in<br />
the <strong>Ensemble</strong> Management Portal, but you can view them. If you want to change them, you must enter the <strong>Ensemble</strong> Studio<br />
environment and edit them there. The following read-only data fields appear on the BPL Viewer page when the diagram<br />
first displays. For details about any of these fields, see documentation of the BPL element in the <strong>Ensemble</strong><br />
Business Process Language Reference:<br />
• On the left:<br />
– Type — The type of BPL element: for the business process as a whole.<br />
– Name — The business process class name.<br />
– Component — An integer value of 1 means that the business process has been designated as a reusable component.<br />
A value of 0 means it has not.<br />
– Annotation — If an annotation was added in the Studio environment, it appears here.<br />
– Show Annotation — An integer value of 1 means that Show Annotation is true; display any BPL annotations in<br />
the BPL Viewer top display. A value of 0 means Show Annotation is false; do not display annotations.<br />
– Width — Width of the BPL diagram in logical units.<br />
– Height — Height of the BPL diagram in logical units.<br />
• On the right:<br />
– Layout — automatic or manual<br />
– Language — basic or objectscript<br />
– Request — The primary request class for the business process.<br />
– Response — The primary response method for the business process, if a response was defined.<br />
– Context — A list of the properties in the general-purpose, persistent variable context, which is defined using the<br />
and elements in BPL.<br />
– ContextSuperClass — The superclass for the business process context object, if a unique one was defined<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 89
Business Processes<br />
– Includes — A comma-delimited list of include file names, if any were supplied.<br />
– Version — An integer that expresses a version number for the business process.<br />
If you select an element in the BPL diagram, different fields display in the lower half of the BPL Viewer page. For details<br />
about any of these fields, see documentation of the corresponding BPL element in the <strong>Ensemble</strong> Business Process Language<br />
Reference:<br />
• For all element types, the following fields display:<br />
– Type — The type of BPL element, such as , , , etc.<br />
– xPos — Horizontal position of the element in the BPL diagram, relative to the origin (0,0) at top left. Numbers<br />
increase as the element moves to the right.<br />
– yPos — Vertical position of the element in the BPL diagram, relative to the origin (0,0) at top left. Numbers<br />
increase as the element moves down.<br />
• For most elements, the following fields also display:<br />
– Name — The element name, if it has one.<br />
– Annotation — If an annotation is available in the BPL file, it appears here.<br />
– Disabled — An integer value of 1 means that the business process has been disabled. A value of 0 means it is<br />
enabled (not disabled).<br />
• Other fields may appear as appropriate for the element type. For example:<br />
– <br />
• Property — The property to be manipulated.<br />
• Value — The value to be given to the property.<br />
• Action — Whether the value is to be set, appended (for a collection), or other.<br />
• Key — A key for finding a member of a collection property.<br />
– <br />
• Target — The queue that is the target of a message sent by a element.<br />
• Async — An integer value of 1 means that Async is true; the element sends a message asynchronously.<br />
A value of 0 means Async is false; the element sends the message synchronously.<br />
• Request — The name and parameters of the request that is sent by this element.<br />
• Response — The name and parameters of the response that is expected by this element. If no response<br />
is defined, the field is blank.<br />
– <br />
• Property — The property to be iterated over.<br />
• Key — The index that controls the iteration.<br />
– <br />
• Calls — A list of the elements that this element waits for.<br />
• Type — Wait for “all” calls to finish, or simply “any” call.<br />
• Timeout — The number of seconds to wait.<br />
90 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
Business Process Instances<br />
– <br />
• Value — The text string to be output by this element.<br />
You can close the BPL Viewer page and return to the [<strong>Ensemble</strong>] > [Business Processes] page by clicking [Business Processes]<br />
in the navigation path at the top of the BPL Viewer page.<br />
9.3 Business Process Instances<br />
The [<strong>Ensemble</strong>] > [Business Processes] > [Business Process Instances] page displays any current instances of a business<br />
process in the currently running production. If a business process has completed its work, there is no entry for it on this<br />
page.<br />
You can display the Business Process Instances page by clicking Instances next to the name of a business process name<br />
on the [<strong>Ensemble</strong>] > [Business Processes] page.<br />
There is no menu on the Business Process Instances page. You can return to the home page by clicking [<strong>Ensemble</strong>] in the<br />
title bar navigation path. You can return to the [<strong>Ensemble</strong>] > [Business Processes] page by clicking your browser’s Back<br />
command one or more times.<br />
There are three commands at the top of the Business Process Instances page, below the title bar:<br />
• Click the Home command to return to the home page and the main menu.<br />
• Click the Filter Instances command to find instances of special interest.<br />
• Click the Purge command to purge instance records.<br />
Under the row of commands are two display areas, one above the other:<br />
• The top display lists the instances.<br />
• When you click an underlined ClassName in the top half of the screen, the corresponding BPL diagram displays in the<br />
top half of the screen.<br />
• When you click the Filter Instances command in the top half of the screen, the bottom display permits you to enter<br />
search criteria to filter the list of instances.<br />
• When you click an underlined PrimaryRequest number in the top half of the screen, the corresponding message contents<br />
display in XML format in the bottom half of the screen.<br />
The following topics provide details.<br />
9.3.1 Business Process Instance Entries<br />
The Business Process Instances table displays the start time for the currently running production, followed by a list of<br />
business process instances. Several columns of information are provided for each instance in the table:<br />
• ID — The unique identifier for the instantiated business process.<br />
• IsCompleted — An integer value of 1 means that IsCompleted is true; the primary request that initiated this business<br />
process has been completed. A value of 0 means IsCompleted is false; the primary request has not yet been completed.<br />
• ClassName — The configured name of the business process host class.<br />
When the ClassName is underlined, it means that the host class is a BPL business process. You can click on the<br />
underlined ClassName to display the BPL diagram for the host class.<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 91
Business Processes<br />
• SessionId — The unique identifier for the session that is (or was) associated with this business process. A session<br />
marks the beginning and end of all the activities prompted by a primary request message from outside <strong>Ensemble</strong>. One<br />
or more business processes may be instantiated within <strong>Ensemble</strong> during the session, in order to fulfill the primary<br />
request. All of these business processes share the same SessionId, but each has a different ID value.<br />
• PrimaryRequest — The message ID number of the request that caused this business process to be instantiated. The<br />
PrimaryRequest number is distinct from the object ID number of the business process. The PrimaryRequest may or may<br />
not be the same as the SessionId. If the numbers are different, it means that the request message that started the session<br />
triggered subsequent requests within <strong>Ensemble</strong>, and one of these later messages is the one that actually instantiated<br />
the business process.<br />
When the PrimaryRequest number is underlined, it means that the primary request message can be displayed as a set<br />
of properties in XML format. You can click on the underlined PrimaryRequest number to display the message properties<br />
in colorized XML format in the bottom half of the screen. For example:<br />
• TimeCreated — The date and time when this business process was instantiated.<br />
• TimeCompleted — The date and time when this business process completed the primary request that instantiated it. If<br />
this request has not been completed, this field is blank.<br />
• ContextId — The unique identifier for the general-purpose, persistent variable context, which is defined using the<br />
and elements in BPL to hold persistent properties for this business process instance. This column<br />
is available for BPL business processes only.<br />
The ContextId is underlined to indicate that you can click on it to display the context properties in colorized XML<br />
format in the bottom half of the screen. For example:<br />
• RuleLog — Click this command to display a history of business rule activity for this business process instance.<br />
Note:<br />
The bottom half of the screen contains a search form that you can use to filter the list of business process instances.<br />
When you are done viewing the primary message content or the context properties, you can click the browser<br />
Refresh command to redisplay the search form in the bottom of the screen.<br />
In each row, background color indicates the status of the business process instance:<br />
• Gray — Completed.<br />
• White — These items are in progress.<br />
92 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
Business Process Instances<br />
9.3.2 Business Process Instance Filter<br />
When you click the Filter Instances command in the Business Process Instances top display, the bottom display offers a<br />
collection of data fields that you can use to further expand or refine the Business Process Instances table:<br />
• Sort Order — Select a value from the drop-down list: Oldest First or Newest First.<br />
• Business Process Class — Enter the name of a business process class to find all instances of that class.<br />
• Time Format — Select a value from the drop-down list: Time Only or Complete (time with date).<br />
• Max Rows — The maximum number of business process instances to display as a result of the search. If more matches<br />
are found, they will not be displayed. Enter a number. The default is 50.<br />
• Start Time — Enter the lower limit of a range of TimeCreated values.<br />
• End Time — Enter the upper limit of a range of TimeCreated values.<br />
After you have edited these fields, you can click one of the commands at the bottom of the screen:<br />
• Click Search to sort the list of entries in the top display using the criteria shown in the bottom display.<br />
• Click Reset to redisplay the entries in their default order and return the fields in the bottom display to their default<br />
values.<br />
After you click Search or Reset, the Business Process Instances page redisplays.<br />
9.3.3 Business Process Instance Purge<br />
You can purge outdated records from the <strong>Ensemble</strong> business process archives by clicking the Purge command at the top<br />
of the Business Process Instances display. A dialog appears in the bottom half of the screen.<br />
The fields in this dialog allow to you purge business process instance data as follows:<br />
• Type of Record — You are purging Business Processes.<br />
• Current Count — The number in this column reflects the total number of instances that are now in the persistent store<br />
for this production. Use the Current Count to decide whether or not it is worthwhile to purge these records at this time.<br />
• Do not purge most recent — This is the parameter for the purge operation. It tells <strong>Ensemble</strong> how many days’ worth of<br />
records to keep. The number can be 0 (zero), which keeps nothing and delete all business process instance records that<br />
exist at the time of the purge operation. The default value for Do not purge most recent is 7, which keeps records for<br />
the last seven days.<br />
The count of days includes “today,” so keeping messages for 1 day keeps the messages generated on the current day,<br />
according to local server time.<br />
At the bottom of the display area is the Start Purge command. If you click this command, <strong>Ensemble</strong> immediately purges<br />
instances according to the parameters you have entered in the dialog.<br />
CAUTION:<br />
You cannot undo the Start Purge operation.<br />
Note:<br />
You can also purge business process instances along with other management data using the [<strong>Ensemble</strong>] > [Maintenance]<br />
> [Purge] page.<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 93
10<br />
Host Monitor<br />
The [<strong>Ensemble</strong>] > [Host Monitor] page is your interface to the runtime statistics provided by the Monitor Service. The<br />
Monitor Service is a business service that is implicitly included in every <strong>Ensemble</strong> production. The Monitor Service continually<br />
monitors the activities of <strong>Ensemble</strong> items while a production is running, and records data about them at frequent<br />
intervals.<br />
You can use the Monitor page to monitor the general health of the system. If you detect a change on the page that indicates<br />
a problem has occurred or is developing, you can go to other pages in the <strong>Ensemble</strong> Management Portal to find out more<br />
about the troubled item.<br />
You can display the Host Monitor page in any of the following ways:<br />
• Click Host Monitor in the <strong>Ensemble</strong> Management Portal main menu.<br />
• Click the Service, Process, or Operation link in the home page statistics display.<br />
There is no menu on the Host Monitor page. You can return to the <strong>Ensemble</strong> home page by clicking [<strong>Ensemble</strong>] in the title<br />
bar navigation path.<br />
At far right, the title bar provides a Namespace drop-down list that you can use to switch to a different <strong>Ensemble</strong> namespace.<br />
There is also a Go to drop-down list that you can use to return to previously visited pages in the <strong>Ensemble</strong> Management<br />
Portal or System Management Portal.<br />
Under the Host Monitor page title bar are two display areas, one above the other. The top display lists all the <strong>Ensemble</strong><br />
items — business services, business processes, and business operations — that you can monitor using this page. Only the<br />
items included in the configuration for the currently running production are shown.<br />
The bottom display contains a graph or table with detailed information about the item that is currently selected in the top<br />
display. If nothing is selected, the bottom display is empty. You can drag the boundary between the displays to resize them<br />
as needed. In some cases you must use the scroll bars to see the full contents of either display.<br />
10.1 Monitor Items<br />
The top display on the [<strong>Ensemble</strong>] > [Host Monitor] page contains a table. Each row of the table lists one of the <strong>Ensemble</strong><br />
items — business services, business processes, or business operations — that the currently running production can instantiate.<br />
Some of these items may be instantiated at the present time, others might not. Each row in the table has the following<br />
columns:<br />
• Name — The item name, by default the same as the host class name.<br />
• Type — Service, process, operation, or actor.<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 95
Host Monitor<br />
• Status — A summary of the more detailed fields provided in the bottom half of the Host Monitor page. The Status<br />
field can have the values OK, Error, Retry, or Inactive.<br />
OK means normal behavior; Retry means the item encountered a failure but is set up to retry the failed message. Error<br />
means an error was reported somewhere in the activity. Inactive means that the item has been idle for longer than its<br />
Inactivity Timeout setting, and may require diagnostic action.<br />
The Status value is a snapshot, as of the present moment. If the item had an OK status but is now Inactive, only the<br />
Inactive status is shown.<br />
• Adapter State — Special information about the adapter associated with this item.<br />
• Last Action — The date and time of the last action performed by this item.<br />
• Elapsed Time — The number of seconds since this item last performed an activity.<br />
• Queue — The number of items waiting on this item’s queue, at the current time. If the item does not have its own<br />
queue, the field is blank.<br />
• Count — The number of actions currently in the queue for this item. Count is the total number of messages queued<br />
minus the total number of messages processed, all since the object was first instantiated. Count can become larger or<br />
smaller from time to time, depending on how fast the actions are dequeued. The real significance of this number is that<br />
you can check how busy the system is or determine if anything has clogged the dequeue process. Problems exist if the<br />
number is large.<br />
Actions are counted differently depending on the item:<br />
Item<br />
Actor<br />
Business<br />
Service<br />
Business<br />
Process<br />
Business<br />
Operation<br />
Actions in Count<br />
The number of new business processes<br />
(using the actor pool) that have been started.<br />
The number of request messages received<br />
by the service from external systems.<br />
The number of new business processes<br />
(using private job pools) that have been<br />
started.<br />
The number of response messages received<br />
by the operation from external systems.<br />
Actions Not Counted<br />
How many messages the process has sent<br />
or received from items inside <strong>Ensemble</strong>.<br />
How many request messages the service<br />
has sent to items inside <strong>Ensemble</strong>.<br />
How many messages the process has sent<br />
or received from items inside <strong>Ensemble</strong>.<br />
How many external responses have been<br />
relayed back to items inside <strong>Ensemble</strong>.<br />
In each row, the background color indicates the item’s Status as follows:<br />
• Red — Error<br />
• Yellow — Inactive<br />
• Light gray — Stopped<br />
• Orange — There are more than 100 messages waiting in this item’s queue<br />
• White, with regular text — These items are OK<br />
• White, with bold text — These items are OK and have been active within the last minute<br />
Text style indicates the item’s Status as follows:<br />
• Bold text — Items with ElapsedTime less than one minute.<br />
• Dimmed text — Items with ElapsedTime greater than one hour.<br />
96 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
Monitor Instances<br />
To the right of each entry in the table are two commands: Instances and History. You can click either command to display<br />
detailed information about the entry in the bottom half of the Host Monitor page:<br />
• Click Instances to view detailed information about items of the selected type that are currently instantiated.<br />
• Click History to view information about the level of activity for this type of item over time.<br />
10.2 Monitor Instances<br />
The Instances display on the [<strong>Ensemble</strong>] > [Host Monitor] page allows you to view information about objects that are currently<br />
instantiated in the production. You can reveal this information in the bottom half of the Host Monitor page as follows:<br />
• From the [<strong>Ensemble</strong>] > [Host Monitor] page, click Instances next to the name of a configuration item.<br />
• From the [<strong>Ensemble</strong>] > [<strong>Productions</strong>] > [Configuration] page, click the configuration item and then click Instances.<br />
The Monitor Instances table is a snapshot of all of the objects of the selected type that are currently instantiated in the production.<br />
Table entries can include business process instances or jobs that are doing work on behalf of business hosts. Several<br />
columns of information are provided for each instance in the table:<br />
• Name — The item name. By default this is the same as the host class name.<br />
• Job — Identifies the job in which this item is running.<br />
• Status — A summary of the more detailed fields provided in the bottom half of the Host Monitor page. The Status<br />
field can have the values OK, Error, Retry, or Inactive. OK means normal behavior; Retry means the item encountered<br />
a failure but is set up to retry the failed message. Error means an error was reported somewhere in the activity. Inactive<br />
means that the item has been idle for longer than its Inactivity Timeout setting, and may require diagnostic action.<br />
• Adapter State — Special information about the adapter associated with this item.<br />
• Last Action — The date and time of the last action begun by this item.<br />
• Count — The number of actions that this item has performed, from instantiation up until the current time.<br />
• Method — The name of the host class method invoked to perform the most recent action begun by this item.<br />
• Retry — The number of retries attempted, so far, in pursuit of the current action.<br />
• Abort — The Abort and Suspend links are available only when a configuration item is currently in a Retry state. Click<br />
Abort to abandon attempts to retry messages.<br />
• Suspend — Click Suspend to suspend a message that is in a Retry state. You can later resubmit the message from the<br />
[<strong>Ensemble</strong>] > [Maintenance] > [Suspended] page or resend the message by clicking Resend Messages on the [<strong>Ensemble</strong>]<br />
> [Messages] page.<br />
In each row, the background color indicates the item’s Status, as follows:<br />
• Red — Error<br />
• Yellow — Inactive<br />
• Orange — Retry<br />
• White — These items are OK<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 97
Host Monitor<br />
10.3 Monitor History<br />
The <strong>Ensemble</strong> Host Monitor allows you to view detailed information about the level of activity, over time, for configuration<br />
items of a particular type. You can reveal this information in the bottom half of the Host Monitor page as follows:<br />
• From the [<strong>Ensemble</strong>] > [Host Monitor] page, click History next to the name of a configuration item.<br />
• From the [<strong>Ensemble</strong>] > [<strong>Productions</strong>] > [Configuration] page, click the configuration item and then click History.<br />
The Activity History graph is a simple line-chart with two axes as follows:<br />
• The graph has a vertical axis that represents the number of activities. The vertical axis begins at 0 (zero) at the bottom<br />
left of the display, and extends up to the top left.<br />
• The graph has a horizontal axis that represents time. The horizontal axis begins at 0 (zero) at the bottom right of the<br />
display. The 0 (zero) starting point is the beginning of the time period you select using the Time options at the bottom<br />
of the graph.<br />
You can chose 1 hour, 8 hours, 1 day, or 1 week. The default is 1 hour. The horizontal axis extends up to the end of the<br />
chosen time period at the bottom left of the display.<br />
Data for the History graph is drawn from the Count field for the configuration item. The Monitor Service archives the Count<br />
field for each item every 5 seconds.<br />
When you request a History graph, the Host Monitor page displays this data for the chosen item, distributed over the chosen<br />
period of time. At left is a list of items in the Host Monitor page, highlighting the name of the item you are currently<br />
viewing. You can click on a different item in this list to view its History graph.<br />
The <strong>Ensemble</strong> Host Monitor shows the information for the running production in your chosen namespace. If for any reason<br />
you restart the <strong>Ensemble</strong> instance containing the production, you lose all previous data and the history starts over.<br />
98 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
11<br />
Queues<br />
The [<strong>Ensemble</strong>] > [Queues] page allows you to monitor the activities of <strong>Ensemble</strong> message queues in detail. To display this<br />
page, click Queues in the <strong>Ensemble</strong> Management Portal main menu.<br />
There is no menu on the Queues page. You can return to the home page by clicking [<strong>Ensemble</strong>] in the title bar navigation<br />
path.<br />
At far right, the title bar provides a Namespace drop-down list that you can use to switch to a different <strong>Ensemble</strong> namespace.<br />
There is also a Go to drop-down list that you can use to return to previously visited pages in the <strong>Ensemble</strong> Management<br />
Portal or System Management Portal.<br />
Under the Queues page title bar is a table called Current <strong>Ensemble</strong> Message Queues. Each row of the table lists one of the<br />
message queues being used by the currently running <strong>Ensemble</strong> production. Each row has the following columns:<br />
• Name — The name of the configuration item that has the queue. This is the name assigned to the business service,<br />
business process, or business operation using the configuration display on the [<strong>Ensemble</strong>] > [<strong>Productions</strong>] page. It may<br />
be different from the host class name.<br />
• Count — How many messages are on the queue. This value is a snapshot and may change when you refresh the page.<br />
• Created — The date and time when the queue was first created.<br />
To the right of each row in the Queues table is a Contents command that you can click to display detailed information about<br />
the messages on the queue. The Contents command displays only if the number of messages waiting on that queue is greater<br />
than 0.<br />
In each row, the background color indicates the Count of messages on the queue:<br />
• Red — More than 10 messages.<br />
• Orange — From 4–9 messages.<br />
• Pink — From 1–3 messages.<br />
• White or pale blue, in alternating rows — There are no messages on these queues.<br />
11.1 Queue Contents<br />
The [<strong>Ensemble</strong>] > [Queues] > [Contents] page displays a list of messages that are currently waiting on a specific queue. To<br />
display this page, click Contents next to the name of a queue in the [<strong>Ensemble</strong>] > [Queues] page.<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 99
Queues<br />
There is no menu on the Queue Contents page. You can return to the <strong>Ensemble</strong> home page by clicking [<strong>Ensemble</strong>] in the<br />
title bar navigation path.<br />
Under the Queue Contents page title bar are two display areas, one above the other. The top display lists messages. The<br />
bottom display provides detailed information about the message that is currently selected in the list. If nothing is selected,<br />
the bottom display is empty. You can drag the boundary between the displays to resize them as needed. In some cases you<br />
must use the scroll bars to see the full contents of either display.<br />
In the top display is a table called Message Queue Contents. Each row of the table lists one of the messages currently<br />
waiting on the queue that you selected in the [<strong>Ensemble</strong>] > [Queues] page. Each row of the table has the following columns:<br />
• Priority — The priority of the message relative to others in the queue: RealTime (1), High (2), Normal (3), or Low (4).<br />
The <strong>Ensemble</strong> messaging engine assigns priority values to messages automatically, in the course of normal processing,<br />
for its own use. Message priority cannot be programmed into a message class or configured in any way. Priority values<br />
are based in part on whether the message is synchronous (High) or asynchronous (Normal). Also, messages that start<br />
or stop a production are assigned greater priority than other types of message.<br />
• Index — This integer value starts at 1 for the first message placed on the queue after the production starts, and increments<br />
by 1 for each successive message. A message has the same Index value for the entire time it is on the queue. Index<br />
values are never reused.<br />
• MessageId — The object identifier for the message.<br />
In each row, the background color indicates the message’s overall status, as follows:<br />
• Red — The message encountered an Error.<br />
• Orange — The message is Queued.<br />
• Green — The message marks the start of a session.<br />
• Silver — The message arrived after a timeout expired. It has been marked as Discarded.<br />
• Orange — The message is Suspended.<br />
• White or pale blue, in alternating rows — These messages are OK.<br />
To the right of each row in the Queue Contents table are two commands:<br />
• Details — Click this command to display detailed information about the message in that row.<br />
• Abort — Click this command to abandon any ongoing attempts to send the message.<br />
At the top of the display is an Abort All command. If clicked, a confirmation dialog displays. If you confirm the operation,<br />
all queued messages shown on this page are deleted, and the display returns to the [<strong>Ensemble</strong>] > [Queues] page.<br />
11.2 Message Details<br />
If you select a message in the [<strong>Ensemble</strong>] > [Queues] > [Contents] page and request further details, message details display<br />
in the bottom half of the screen. Message details provide full information about every data field in the currently selected<br />
message.<br />
Two tables display the contents of the message header and message body, left and right respectively.<br />
On the left is the Message Header, which displays the entire contents of the message header. Fields include:<br />
• — The object identifier for the message header. Whenever a message header and message body are combined<br />
together as a message, the ObjectId value in the header is used to identify the combined message object. As a result,<br />
100 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
Message Details<br />
this value is the same as the message ID listed in the [<strong>Ensemble</strong>] > [Messages] page and other pages in the <strong>Ensemble</strong><br />
Management Portal.<br />
• Type — The message type, Request or Response.<br />
• Priority — The priority of the message relative to others in the queue: RealTime (1), High (2), Normal (3), or Low (4).<br />
The <strong>Ensemble</strong> messaging engine assigns priority values to messages automatically, in the course of normal processing,<br />
for its own use. Message priority cannot be programmed into a message class or configured in any way. Priority values<br />
are based in part on whether the message is synchronous (High) or asynchronous (Normal). Also, messages that start<br />
or stop a production are assigned greater priority than other types of message.<br />
• Invocation — The style of invocation for message: Queue or Inproc.<br />
Inproc means the message will be formulated, sent, and delivered in the same job in which it was created. The job will<br />
not be released to the sender’s pool until the message is delivered to the target.<br />
Queue means the message is created in one job, then placed on a queue, at which time the original job is released.<br />
Later, when the message is processed, a different job will be allocated for the task.<br />
• TimeCreated — A Queue message lists the time the message was placed on the queue. An Inproc message lists the<br />
time the Send method was called.<br />
• TimeProcessed — A Queue message lists the time the message was taken off the queue to be processed. An Inproc<br />
message lists when processing of the message began; for Inproc messages, TimeProcessed will be very close to Time-<br />
Created.<br />
• Status — Indicates the status of the message within its normal life-cycle: Created, Queued, Delivered, Deferred,<br />
Completed, Discarded, or Suspended. If there is a request-response pair, the value does not indicate an overall status<br />
for the pair; a request may end up with a different Status from its corresponding response.<br />
A message in transit has a Status of Created, until it finds its place on a queue, when it becomes Queued. A message<br />
that reaches its destination is at first Delivered, then finally Completed. An asynchronous response is Discarded if it<br />
arrives after the timeout period for the corresponding request expired. A message response can been Deferred by a<br />
business operation to be sent later on; when a Deferred message is finally sent, it has a Status of Completed.<br />
Some business operations are designed to set the status of any failed messages to Suspended. Alternatively, an<br />
administrator can suspend a message from the Instances display on the [<strong>Ensemble</strong>] > [Host Monitor] page. In either<br />
case, such a message goes on a special queue where <strong>Ensemble</strong> keeps all Suspended messages. An administrator can<br />
use the [<strong>Ensemble</strong>] > [Maintenance] > [Suspended] page to examine Suspended messages, diagnose the problem, and<br />
if possible resend the Suspended messages after the problem is fixed.<br />
• IsError — An integer value of 1 means that IsError is true; the message encountered an error. A value of 0 means<br />
IsError is false; the message did not encounter any errors.<br />
• ErrorStatus — If IsError is 1, then this is the text associated with the error. When IsError is 0, ErrorStatus is the string<br />
“OK”.<br />
• CorrespondingMessageId — If the message Type is a Response, this field contains the ObjectId of the corresponding<br />
request. If the message Type is a Request, this field contains the ObjectId of the corresponding response (if any) or it<br />
is blank.<br />
• SessionId — The unique identifier for the session that is (or was) associated with this message. A session marks the<br />
beginning and end of all the activities prompted by a primary request message from outside <strong>Ensemble</strong>. The primary<br />
request message has an ID value that is identical to the SessionId. Several additional messages may be instantiated<br />
within <strong>Ensemble</strong> during the session, in order to fulfill the primary request. All of these messages share the same SessionId,<br />
but each has a different ID value.<br />
• SourceConfigName — The name of the configuration item that sent the message.<br />
• TargetConfigName — The name of the configuration item that was intended to receive the message.<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 101
Queues<br />
• SourceBusinessType — BusinessService, BusinessProcess, BusinessOperation, or Unknown.<br />
• TargetBusinessType — BusinessService, BusinessProcess, BusinessOperation, or Unknown.<br />
• BusinessProcessId — Every business process that gets executed has an instance and this is the object ID of that instance.<br />
If the message is a request, this field identifies the business process in whose context the message was created (sender).<br />
If the message is a response, this field identifies the business process to which it is being returned (receiver). This field<br />
is empty in various circumstances, for example if an error occurred.<br />
• TargetQueueName — The destination “address” for the message: Where is it going The TargetQueueName may be a<br />
name or a number. A name identifies a public queue, such as Ens.Actor. A number is the job ID associated with the<br />
private queue of a business host.<br />
• ReturnQueueName — The return “address” for the message: Where did it come from The ReturnQueueName may be<br />
a name or a number. A name identifies a public queue, such as Ens.Actor. A number is the job ID associated with the<br />
private queue of a business host. The ReturnQueueId value is listed even if there is no response expected or needed for<br />
a particular request message type.<br />
• MessageBodyClassName — The class name for the message body.<br />
• MessageBodyId — The object identifier for the message body. This field matches the field in the Message<br />
Body table.<br />
On the right side of the message details display is the Message Body information. Fields include:<br />
• Message Body: Message Type — The message body class name.<br />
• If the message body is:<br />
– A standard <strong>Ensemble</strong> message body object, a table displays the following information:<br />
• — The object identifier for the message body. This field matches the MessageBodyId field in the<br />
Message Header table.<br />
• The name and value of each property in the Message Type class.<br />
– Any other type, there are no additional fields in the Message Body display.<br />
• Contents — Click this command to view the message body contents in an appropriate format.<br />
After viewing message details from the [<strong>Ensemble</strong>] > [Queues] > [Contents] page, you can:<br />
• Find another message in the list. Click Details to study it.<br />
• Close the [<strong>Ensemble</strong>] > [Queues] > [Contents] page and return to the [<strong>Ensemble</strong>] > [Queues] page, by clicking your<br />
browser’s Back command one or more times.<br />
• Return to the home page, by clicking [<strong>Ensemble</strong>] in the navigation path.<br />
102 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
12<br />
Maintenance<br />
The [<strong>Ensemble</strong>] > [Maintenance] page allows you to select cleanup operations such as resending suspended messages or<br />
purging outdated records from the persistent store. You can also indicate production configuration default settings, set user<br />
credentials for remote connections, and configure an automatic startup for a specific production. Click Maintenance on the<br />
<strong>Ensemble</strong> menu to navigate to the page.<br />
At far right, the title bar provides a Namespace list that you can use to switch to a different <strong>Ensemble</strong> namespace and return<br />
to the <strong>Ensemble</strong> home page.<br />
Under the Maintenance page title bar is a display area. The Maintenance menu displays at the top left corner of this display.<br />
You can click on selections in this menu to navigate to portal pages to perform the functions as described in the following<br />
table.<br />
Menu item<br />
Home<br />
Suspended Messages<br />
Purge Management Data<br />
Credentials<br />
Local Archive Manager<br />
Lookup Settings<br />
DICOM Settings<br />
Default Settings<br />
Enterprise Message Bank<br />
Function<br />
Return to the [<strong>Ensemble</strong>] home page.<br />
View all messages that are in a Suspended state.<br />
Purge entries from the event log, rule log, message warehouse, business process<br />
archives, and business rule log.<br />
Create a table of usernames and passwords that business operations can use<br />
to establish remote connections.<br />
Periodically save older messages to a separate archive for long term storage.<br />
Create and configure data tables to support the Lookup and Exists utility functions.<br />
Create and manage associations between modalities and an <strong>Ensemble</strong><br />
namespace for use in productions. See the “DICOM Associations in <strong>Ensemble</strong>”<br />
chapter in the <strong>Ensemble</strong> DICOM Development Guide for details<br />
Create and edit default values for production and business host configuration<br />
settings for a namespace.<br />
Monitor messages from multiple productions on multiple machines from a central<br />
location.<br />
The Maintenance page display area provides the following information and options:<br />
• Current <strong>Ensemble</strong> Version — The <strong>InterSystems</strong> release number associated with the <strong>Ensemble</strong> software that is installed<br />
on this machine.<br />
• Auto-Refresh Rate — This is a number of elapsed seconds, after which the <strong>Ensemble</strong> Management Portal will refresh<br />
the portal page you are currently viewing. The default duration is 23 seconds.<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 103
Maintenance<br />
A refresh operation as frequent as every 5 seconds might be helpful or distracting, depending on how you are using<br />
the portal. To change the rate, enter a new value in this field. If you never want an automatic refresh to occur, set the<br />
value to 0 (zero).<br />
• Auto-Start Production — You can configure <strong>Ensemble</strong> so that a specific production starts automatically at system<br />
startup, and stops automatically at system shutdown. In the Production list, click a production name. To disable automatic<br />
production start, click the blank entry; this is the default.<br />
For more details, see the Production Life Cycle section of the “Production Concepts” chapter of Developing <strong>Ensemble</strong><br />
<strong>Productions</strong>.<br />
When you are finished making changes in the Maintenance page, click Save to apply the changes.<br />
12.1 Suspended Messages<br />
The [<strong>Ensemble</strong>] > [Maintenance] > [Suspended] page allows you to study and resubmit messages that have entered a suspended<br />
state. Some business operations are designed to set the status of any failed messages to suspended. Alternatively, you can<br />
suspend a message from the Instances display on the [<strong>Ensemble</strong>] > [Host Monitor] page.<br />
In either case, such a message goes on a special queue where <strong>Ensemble</strong> keeps all suspended messages. You can use the<br />
Suspended Messages page to find and examine these messages. An inspection of the routing information or contents of a<br />
specific message might reveal the reason why the message failed. For example, if the problem is that an external destination<br />
went out of service, you can make a change to reestablish communication with that server. Then you can resubmit the<br />
suspended messages to the external server from this page.<br />
You can display the Suspended Messages page by clicking Maintenance on the <strong>Ensemble</strong> menu and then clicking Suspended<br />
Messages from the Maintenance menu.<br />
If some messages in the currently running production are suspended, the page lists them. If no messages are suspended,<br />
the list is empty. The list displays message information as described in the following table.<br />
Column<br />
Check box<br />
#<br />
ID<br />
Time Created<br />
Session<br />
Error<br />
Source<br />
Target<br />
Description<br />
Mechanism for selecting messages for the Resubmit, Edit & Resubmit, Discard, and Delete<br />
commands.<br />
An incremental count of the number of entries in the table.<br />
The unique identifier for the instantiated message.<br />
The date and time when this message was instantiated.<br />
The unique identifier of the session to which this message belongs. A session marks the<br />
beginning and end of all the activities prompted by a primary request message from outside<br />
<strong>Ensemble</strong>.<br />
A quick overview of the results returned by the message to the configuration item that sent<br />
it, the Error field can have the values OK, Error, Retry, or Inactive. OK means normal behavior;<br />
Retry means the message experienced a failure but the item that sent it is configured to retry<br />
the failed message. Error means an error was reported somewhere in the activity. Inactive<br />
means that the item that sent the message has been idle for longer than its Inactivity Timeout<br />
setting, and may require diagnostic action.<br />
The name of the configuration item that sent the message.<br />
The name of the configuration item that is the intended recipient of the message.<br />
104 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
Purge Management Data<br />
To the right of each row are two commands which you can click to display additional message information:<br />
• Click Details to display the message details in the lower portion of the page.<br />
• Click Trace to display a visual trace of the path of the message object through the production on the <strong>Ensemble</strong> Visual<br />
Trace page.<br />
Above the list of suspended messages is a choice of commands to perform on these messages:<br />
• Resubmit — Select one or more check boxes in the column at the left of each message you want to resubmit and click<br />
to resubmit the messages. As message similar to the following displays for each successfully resubmitted message:<br />
Resubmit suspended message ID '7' completed.<br />
Any message that you resubmit retains the same Session identifier and transmits the same Header object. The<br />
description in the message header contains text indicating this is a Resubmitted message.<br />
• Edit & Resubmit — Edit a single message before resubmitting; this command is only valid if you select exactly one<br />
message. See the Resend Editor for Resubmitting Messages section for details.<br />
• Discard — Remove the message from list on the Suspended Messages page. The message is still accessible from the<br />
<strong>Ensemble</strong> Message Browser.<br />
• Delete — Remove all record of the message from the <strong>Ensemble</strong> database.<br />
CAUTION:<br />
You cannot undo the Discard or Delete operations.<br />
12.1.1 Resend Editor for Resubmitting Messages<br />
When you select one message to resubmit from the [<strong>Ensemble</strong>] > [Maintenance] > [Suspended] page, you have the option<br />
to edit the body of the message before resubmitting it.<br />
1. Click Edit & Resubmit to display the <strong>Ensemble</strong> Resend Editor page.<br />
2. Use the entry fields to update the message body data. The fields vary depending on the method signature of the message.<br />
If the method has no properties, none are displayed.<br />
If you are editing a virtual document message (HL7, X12), you can edit data in the message content and also edit object<br />
properties in the box below the content box.<br />
3. Click Resubmit to resubmit the original message header with your edited message body contents to the target.<br />
4. After a successful resubmit, the page refreshes with text indicating the Header and Msg Body identifiers. Click Trace<br />
to see the visual trace of the resubmitted message.<br />
Any message that you edit and resubmit retains the same Session identifier and transmits the same Header object, but it<br />
contains an updated Msg Body object with a new identifier. The description in the original message header contains text<br />
indicating that this message has been resubmitted and includes the original Msg Body object identifier.<br />
12.2 Purge Management Data<br />
The [<strong>Ensemble</strong>] > [Maintenance] > [Purge] page allows you to delete outdated entries from the event log, message warehouse,<br />
business process archives, and business rule log. You can only purge entries associated with the currently running production.<br />
You can display the Purge page as follows:<br />
1. From the <strong>Ensemble</strong> menu, click Maintenance.<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 105
Maintenance<br />
2. From the Maintenance menu click Purge Management Data.<br />
3. The Purge Management Data page displays.<br />
Under the Purge page title bar is a display area; the Maintenance menu is at the top left corner of this display. Under the<br />
title bar and to the right of the menu is a row of commands, as follows:<br />
• Show Event Log displays the [<strong>Ensemble</strong>] > [Event Log] page. You can use this page to get information about event log<br />
entries that you might want to purge or avoid purging.<br />
• Show Messages displays the [<strong>Ensemble</strong>] > [Messages] page. You can use this page to get information about messages<br />
that you might want to purge or avoid purging.<br />
• Show Business Processes displays the [<strong>Ensemble</strong>] > [Business Processes] page. You can use this page to get information<br />
about business process instances that you might want to purge or avoid purging.<br />
• Show Business Rule Log displays the [<strong>Ensemble</strong>] > [Business Rule Log] page. You can use this page to get information<br />
about rule log entries that you might want to purge or avoid purging.<br />
If you click one of these commands to view information, you can return to the Purge page by navigating back to the Purge<br />
Management Data page described at the beginning of this section or by using the Back command on your browser.<br />
Below the row of commands on the Purge page is a dialog box that contains the following fields:<br />
• Type of Record — Identifies the purpose of each row in the table. Each row contains one type of artifact that the currently<br />
running production is producing on an ongoing basis: Event Log, Messages, Business Processes, Business Rule Log,<br />
or I/O Archive.<br />
• Current Count — Total number of entries of this type that are now in the persistent store for this production. Use the<br />
Current Count to decide whether or not it is worthwhile to purge the records and if so, how many days’ worth of records<br />
you want to keep.<br />
• Include message bodies — If selected, this check box indicates that when <strong>Ensemble</strong> purges message headers, it should<br />
also purge the associated message bodies. <strong>Ensemble</strong> verifies that body classes exist and are persistent, before purging<br />
them. If this check box is clear (the default) message header data is purged, but message body data is retained.<br />
Important:<br />
When <strong>Ensemble</strong> purges a message body object, it does not automatically delete any embedded persistent<br />
object your code references as a property in your message body class. As a developer, you must<br />
appropriately handle the deletion of these referenced objects using a mechanism such as a delete trigger,<br />
a %OnDelete() method, or through relationships.<br />
• Keep data integrity — If selected (the default) this check box indicates that when <strong>Ensemble</strong> purges message headers,<br />
even if a message meets the age criterion for purging, it is not deleted unless its status is complete. <strong>Ensemble</strong> considers<br />
messages to be complete if they are marked Complete, Error, Aborted, or Discarded. This is to keep session-level<br />
integrity.<br />
The query that identifies the messages to delete checks all the messages (including business process instances) in a<br />
session to see whether any of them are not complete. The purge only performs the delete if all the messages are complete.<br />
The scope of this query, therefore, has an impact on the time taken to do the purge.<br />
This option is important to support long-running business processes. Usually this is the desired behavior. However, if<br />
you know there are old messages in the system whose incomplete status is not significant, you can purge them by<br />
clearing the Keep data integrity check box.<br />
Important:<br />
The purge criteria for using Keep data integrity also includes <strong>Ensemble</strong> system processes such as the<br />
Scheduler. Before clearing this check box, carefully consider the value for the Do not purge most<br />
recent setting.<br />
106 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
Credentials<br />
• Do not purge most recent — This tells <strong>Ensemble</strong> how many days’ worth of records to keep. The number can be 0<br />
(zero), which keeps nothing and deletes all entries that exist at the time of the purge operation. The default value for<br />
Do not purge most recent is 7, which keeps entries for the last seven days.<br />
The count of days includes today, so keeping messages for 1 day keeps the messages generated on the current day,<br />
according to local server time.<br />
At the bottom of the dialog is the Start Purge command. If you click it, <strong>Ensemble</strong> immediately purges the persistent store<br />
according to the parameters you have entered in the Purge page. The page uses a background job to do purges, and reports<br />
the results of the last-run purge, including a status code, or a notice if the background job is running or has failed to run.<br />
CAUTION:<br />
You cannot undo the Start Purge operation.<br />
12.3 Credentials<br />
Some remote systems require a username and password to log into that system. A username-and-password pair is a login<br />
credential. <strong>Ensemble</strong> permits you to store login credentials in a centralized table that can be viewed and edited only by<br />
users with access to the <strong>Ensemble</strong> Management Portal.<br />
Each entry in the Credentials table has an ID by which you can refer to it when configuring business services or business<br />
operations for the production. Adding an entry to the Credentials table for a production consists of assigning an ID to a<br />
username-and-password pair.<br />
The [<strong>Ensemble</strong>] > [Maintenance] > [Credentials] page displays the Credentials table for the currently running production.<br />
You can display the Credentials page as follows:<br />
1. From the [<strong>Ensemble</strong>] home page menu, choose Maintenance.<br />
2. From the Maintenance menu choose Credentials.<br />
3. The Credentials page displays.<br />
There is no menu on the Credentials page. Under the title bar is a row of commands, as follows:<br />
• Home — Click to return to the <strong>Ensemble</strong> home page.<br />
• Create New Credentials — If you click this command, a dialog displays in the bottom half of the Credentials page. You<br />
can enter information in this dialog to create a new entry for the Credentials table.<br />
Below these commands, the Credentials page displays text — The following Credentials are currently defined — and a table.<br />
The table lists all the credentials associated with the currently running production. Each row in the table has the following<br />
columns:<br />
• ID — The configured name of the username-and-password pair. This is the name to be used when configuring a business<br />
service or business operation to establish a remote connection.<br />
• User — The username.<br />
• Password — The password.<br />
To the right of each entry in the Credentials page table are two commands:<br />
• Edit displays a dialog in which you can edit the Username or Password for an entry. You cannot change the ID of an<br />
entry. To use a different ID, you must create a new entry by clicking Create New Credentials. Then, if you want, you<br />
can delete the old entry.<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 107
Maintenance<br />
• Delete deletes the entry in that row.<br />
CAUTION:<br />
You cannot undo the Delete operation.<br />
12.4 Local Archive Manager<br />
The [<strong>Ensemble</strong>] > [Maintenance] > [Archive Manager] page allows you to periodically save older messages to a separate<br />
archive for long term storage.<br />
The Archive Manager requires you to identify a namespace in which to keep the archive. <strong>InterSystems</strong> strongly recommends<br />
that you keep this archive in a namespace that meets both of the following criteria:<br />
• A separate namespace from those in which you run <strong>Ensemble</strong> productions. If you are running productions in more<br />
than one namespace, be aware that multiple namespaces can archive their messages into one shared target namespace.<br />
• An <strong>Ensemble</strong>-enabled namespace, so that you can use <strong>Ensemble</strong> Management Portal features such as the Message<br />
Browser and Visual Trace whenever you have a reason to examine the archived messages. For details about <strong>Ensemble</strong>enabled<br />
namespaces, see “Working with Namespaces” in the chapter “What to Manage.”<br />
You can display the Archive Manager page as follows:<br />
1. From the [<strong>Ensemble</strong>] home page menu, choose Maintenance.<br />
2. From the Maintenance menu choose Archive Manager.<br />
3. The Archive Manager page displays.<br />
There is no menu on the Archive Manager page.<br />
At the top of the page is an Run Archive command. This command is enabled only if there is data in all three fields in the<br />
form and there is no previous archive operation still in progress.<br />
Next, the page displays text — Current archive manager settings for namespace — and the name of the currently selected<br />
namespace. The following fields display information about the Archive Manager:<br />
• Archive to namespace — The namespace to which <strong>Ensemble</strong> saves archived messages.<br />
• Archive manager class name — The class that acts as the Archive Manager. Generally you will keep the default of<br />
Ens.Archive.Manager, but if you wish to customize the archive operation you can subclass Ens.Archive.Manager and<br />
write your own code. If so, choose your subclass for this field.<br />
• Number of days before archiving — Messages older than this number of days are automatically archived when you run<br />
the archive operation.<br />
To edit any of these settings in this part of the page, click Edit at right. A form displays. Change the information in the<br />
fields and then click Save. If the save is successful, the page is refreshed with the new settings displayed. If the save failed,<br />
the form displays the error message from the server.<br />
The Archive history display provides information about the last or current archive. For example:<br />
Archive start time 2008-06-04 16:52:55<br />
Archive stop time 2008-06-04 16:52:55<br />
Total messages processed 3002 - 100% finished<br />
Total messages archived 0<br />
Total message headers deleted 0<br />
Total message bodies deleted 0<br />
Archive status idle<br />
108 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
Lookup Settings<br />
When the Run Archive command is enabled, and you click it, a confirmation dialog asks if you want to begin the archive<br />
operation. Click OK if you want to begin; a message displays to confirm that the archive has been started. If not, click<br />
Cancel.<br />
CAUTION:<br />
You cannot stop the Run Archive operation.<br />
After you click Run Archive, the archive operation runs in the background and displays progress statistics while it is running.<br />
The numbers in the display update continuously, with count and percentage continuing to change until the result reaches<br />
100%, status becomes idle, and a final stop time appears:<br />
Archive start time: 2008-05-14 18:19:02<br />
Archive stop time:<br />
Total messages processed 100 - 10% finished<br />
Total messages archived 3<br />
Total message headers deleted 1<br />
Total message bodies deleted 1<br />
Archive status running<br />
For each message to be archived, <strong>Ensemble</strong>:<br />
• Copies the message header to the target namespace.<br />
• Copies the serialized message body (not the message body object) to the target namespace.<br />
• Deletes the message header and message body objects from the original namespace.<br />
If errors occur during the archive operation, you will see the following display.<br />
Total number of errors XX [show error log]<br />
[show error log] is a link that toggles with [hide error log]. You can click this link to show or hide the error log. The maximum<br />
number of errors displayed in the table is 1000.<br />
Each time you run an archive operation, the previous archive error log is deleted.<br />
12.5 Lookup Settings<br />
The [<strong>Ensemble</strong>] > [Maintenance] > [Lookup Settings] page allows you to create and configure data tables to support the<br />
Lookup and Exists utility functions. The Lookup utility function is provided so that you can easily perform a table lookup<br />
from a business rule or DTL data transformation.<br />
For details, see the sections “Utility Functions” and “Lookup Tables” in the “Creating a New Production” chapter of<br />
Developing <strong>Ensemble</strong> <strong>Productions</strong>.<br />
The Lookup function works only after you have created a lookup table and have populated it with data. You can do this<br />
using the [<strong>Ensemble</strong>] > [Maintenance] > [Lookup Settings] page. You can display the page as follows:<br />
1. From the [<strong>Ensemble</strong>] home page menu, choose Maintenance.<br />
2. From the Maintenance menu choose Lookup Settings.<br />
3. The Lookup Settings page displays.<br />
There is no menu on the Lookup Settings page.<br />
At the top of the page is an Add New Table command. When you click this command, the page refreshes with the cursor in<br />
the Lookup Table field and hint text below each of the three fields for entering a key: Lookup Table, Key, and Value.<br />
Next, the page displays text — View and edit <strong>Ensemble</strong> lookup tables for namespace — and the name of the currently<br />
selected namespace. Below the introductory text is a list of lookup tables in the namespace.<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 109
Maintenance<br />
To create a new table, type the new table name in the Lookup Table field. Provide the first entry in the table by entering a<br />
Key, with or without a Value. Click Insert to save your changes. Continue adding Key and Value pairs as needed to populate<br />
the table. After the first Insert, your table becomes available as a choice in the list at the top of the form. If you ever click<br />
the Insert command while the required fields Lookup Table and Key are empty, the hint text changes color to indicate an<br />
error.<br />
When you select a table from the list, its full set of Key and Value pairs display in a grid below. Each row in the grid offers<br />
Edit and Delete commands that apply to the Key listed in that row. Click Edit to edit the value of a key. If you make any<br />
changes, click Insert to save them.<br />
A Delete Table command is available at the bottom of the Lookup Settings form. If you click this command while a specific<br />
lookup table is selected, a confirmation dialog displays, asking if you want to delete all keys for that table. Click OK to<br />
delete the table and all of its keys; click Cancel to continue without deleting anything.<br />
CAUTION:<br />
You cannot undo the Delete Table operation.<br />
12.6 Default Settings<br />
The [<strong>Ensemble</strong>] > [Maintenance] > [Default Settings] page allows you to create and edit default values for production and<br />
business host configuration settings by namespace. The following table describes the properties listed on the page for each<br />
existing default setting.<br />
Table 12–1: Default Setting Properties<br />
Column<br />
Production Name<br />
Item Name<br />
Host Class Name<br />
Setting Name<br />
Setting Value<br />
Edit<br />
Delete<br />
Description<br />
Name of the production within the current namespace to which this setting applies; an<br />
* indicates in all productions.<br />
Name of the configuration item; an * indicates for all items.<br />
Name of the host class; an * indicates for all classes.<br />
Name of the configuration setting.<br />
Default value of the setting.<br />
Click to edit the default setting properties on the Edit Default Setting page.<br />
Click to delete this default setting from the namespace. Click OK to confirm the delete<br />
action.<br />
When you click Edit or Create New Setting at the top of the page you navigate to a form to enter the following values:<br />
• Production Name (required) — Choose from the list of existing production definitions in the namespace or enter a<br />
production name where the default setting should be used. Use * to use the setting in all productions.<br />
• Item Name (required)— Enter the name of the configuration item that should use the default setting. Use * to use the<br />
value in all configuration items with the setting.<br />
• Host Class Name (required) — Enter the class name of the business service, process, or operation that should use the<br />
default setting. Use * to match all classes.<br />
• Setting Name (required) — Enter the name of the default setting.<br />
• Setting Value — Enter the value for the default setting.<br />
• Description — Enter an optional description for your default setting.<br />
110 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
Enterprise Message Bank<br />
Click Save to update or create the default setting and return to the updated list on the Default Settings page. Click Cancel<br />
to return to the Default Settings page without saving any of your edits.<br />
See the entry for Ens.Config.DefaultSettings in the Class Reference for programming details.<br />
12.7 Enterprise Message Bank<br />
The Enterprise Message Bank is a remote archiving facility where you can collect messages, event log items, and search<br />
table entries from multiple <strong>Ensemble</strong> client productions. It is made up of the following components:<br />
• A client operation you add to an <strong>Ensemble</strong> production and configure with the address of a Message Bank server.<br />
• The Message Bank server which is a simple <strong>Ensemble</strong> production consisting exclusively of a Message Bank service<br />
that listens for submissions from any number of client productions.<br />
The Message Bank is part of the Enterprise Monitor. You access it using the Enterprise Message Bank option on the<br />
[<strong>Ensemble</strong>] > [Maintenance] menu of the <strong>Ensemble</strong> Management Portal. The <strong>Ensemble</strong> Enterprise Monitor also provides<br />
pages for you to monitor the status of client productions, browse the message bank, and perform a search of HL7 messages<br />
from the monitored clients. You can also access the Enterprise Monitor directly using the following default URI:<br />
http://localhost:57772/csp/ensemble/Ens.Enterprise.Portal.MonitorStatus.cls<br />
To use the Message Bank facility, perform the following steps:<br />
1. Message Bank Server — Set up the Message Bank in one <strong>Ensemble</strong>-enabled namespace by subclassing the<br />
Ens.Enterprise.MsgBank.Production abstract class, copying its ProductionDefinition XData block, and then<br />
compiling your new class in that namespace. For example:<br />
Class My<strong>Ensemble</strong>.MyMessageBank Extends Ens.Enterprise.MsgBank.Production<br />
{<br />
XData ProductionDefinition<br />
{<br />
<br />
Production for receiving and collating message bank submissions from one or more<br />
client<br />
<strong>Ensemble</strong> namespaces and for maintaining a local repository of production status information<br />
about each<br />
client namespace, for display on the Enterprise Monitor page. Open the the Monitor page on the<br />
same<br />
machine that that is hosting this Production.<br />
0<br />
120<br />
10<br />
<br />
0<br />
0<br />
0<br />
10<br />
<br />
<br />
0<br />
0<br />
0<br />
Big<br />
0<br />
1<br />
<br />
100<br />
5<br />
9192<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 111
Maintenance<br />
-1<br />
10<br />
<br />
<br />
<br />
}<br />
}<br />
This is the production for receiving and collating message bank submissions from one or more client <strong>Ensemble</strong><br />
namespaces and for maintaining a local repository of production status information about each client namespace. You<br />
can view the gathered information on the Enterprise Monitor page on the same machine that is hosting this production.<br />
For testing purposes, you can put the message bank production on the same machine and instance as your regular<br />
productions, but it should be in a separate namespace from any production you plan to monitor. The Message Bank<br />
production uses the following services:<br />
• Ens.Enterprise.MsgBank.TCPService — to accept inbound data from the client productions<br />
• Ens.Enterprise.MonitorService — to gather status of client productions<br />
2. Message Clients — In each regular production for which you want to collect messages, add a new business operation<br />
using the Ens.Enterprise.MsgBankOperation class. This operation and its configuration control archiving of events via<br />
TCP to a near real-time <strong>Ensemble</strong> server running the Message Bank production. See Adding a Message Bank Business<br />
Operation for the detailed procedure.<br />
3. Navigate to the [<strong>Ensemble</strong>] > [Maintenance] > [Enterprise Message Bank] page to view the collected messages in the<br />
message bank. The first time you enter the Enterprise Message Bank page from the Maintenance menu, it requires you<br />
to enter the following information about the Message Bank:<br />
• Enterprise Message Bank Webserver IP Address<br />
• Enterprise Message Bank Webserver IP Port number<br />
• Enterprise Message Bank Webserver execution Namespace<br />
• Use SSL to connect to the Enterprise Message Bank Webserver<br />
<strong>Ensemble</strong> caches the information and does not display it again unless you clear this cache by performing a Kill on the<br />
^Ens.MsgBank global.<br />
4. Once you enter the proper information, you see the <strong>Ensemble</strong> Enterprise Monitor: Client Systems List page. From here<br />
you can click Message Bank Browser to display a list of archived messages.<br />
Important characteristics of the Message Bank:<br />
• The Message Bank has no synchronization dependencies for message body classes with the contributing productions;<br />
therefore, it receives a serialized form of each message. For virtual document message bodies (HL7, for example) it<br />
reparses the serialized document into an object, and receives and stores the search table entries from the contributing<br />
production as well. You can perform almost the same search for HL7 messages as on the original machine; however,<br />
the same is not true for other types of message bodies.<br />
To search by HL7 custom schema properties in the Message Bank, the custom schema definition must be in the Message<br />
Bank production namespace.<br />
• For uniqueness, the Message Bank production prepends the numeric identifier of client productions to the message<br />
IDs.<br />
• The Message Bank page also serves as a portal for viewing the state of multiple client productions and for invoking a<br />
resend service on them. For these extra features to work the Message Bank needs to know the web addresses of the<br />
client productions.<br />
112 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
Enterprise Message Bank<br />
• The Message Bank mechanisms do not delete the messages from the originating production, you should handle that<br />
function with a separate purge process.<br />
• It is possible to replay messages from the Message Bank back into the originating production or another client production.<br />
12.7.1 Adding a Message Bank Business Operation<br />
In each regular production for which you want to collect messages, add a new business operation using the<br />
Ens.Enterprise.MsgBankOperation class. This operation and its configuration control archiving of events via TCP to a near<br />
real-time <strong>Ensemble</strong> server running the Message Bank production.<br />
You can add a Message Bank business operation to any <strong>Ensemble</strong> production from the <strong>Ensemble</strong> Management Portal using<br />
the following procedure:<br />
1. Start the Business Operation Wizard from the [<strong>Ensemble</strong>] > [<strong>Productions</strong>] > [Configuration] page in one of the following<br />
ways:<br />
• Click in the diagram background and then click Add Operation.<br />
• Right-click in the diagram, point to Add on the context menu, and then click Business Operation.<br />
2. Click All Operations and then choose the Ens.Enterprise.MsgBankOperation class from the Operation Class list.<br />
The class already exists and requires no programming. You can see the details of the class in its entry in the Class<br />
Reference.<br />
3. You must make the Operation Name of this configuration item the Message Bank operation class name. Either leave<br />
this blank to use the default class name or enter Ens.Enterprise.MsgBankOperation.<br />
4. You can configure the optional Display Category and Comment fields later.<br />
5. Click OK to save your changes and finish the wizard.<br />
The Message Bank business operation is now part of the production and ready to configure as described in the following<br />
section.<br />
12.7.2 Configuring a Message Bank Business Operation<br />
You can configure a Message Bank business operation by clicking it in the diagram on the [<strong>Ensemble</strong>] > [<strong>Productions</strong>] ><br />
[Configuration] page. The following settings display below the diagram; you can edit these values to configure the business<br />
operation. When you are finished editing, click Apply to save your changes, or Cancel to ignore them.<br />
• General Settings — The general settings on the left configure the business operation as a production item. These settings<br />
are common to all business hosts. For descriptions, see the General Settings section in the “Configuration” chapter<br />
of <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>.<br />
Important:<br />
Verify that the Name setting value is Ens.Enterprise.MsgBankOperation. This is a requirement<br />
for running an <strong>Ensemble</strong> Message Bank operation.<br />
• Specific Settings — The specific settings on the right configure properties particular to this business operation and its<br />
associated adapter.<br />
The setting names are, in many cases, localized descriptions of the class property names. You can hover the cursor over<br />
any setting name to display its help text as it appears in the Class Reference or click the setting name to display the help<br />
text in a separate pop-up window.<br />
Configure the following settings specifically for the Message Bank:<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 113
Maintenance<br />
Adapter Class<br />
Archive Items<br />
Verify that this read-only setting lists the client adapter Ens.Enterprise.MsgBank.ClientTCPAdapter class.<br />
Controls which messages to send to the Message Bank. The default behavior is to archive everything except<br />
scheduler messages as shown by the value:<br />
*[*],-Ens.ScheduleService[*],-Ens.ScheduleHandler[*]<br />
See Configure Archive Items for details.<br />
Enable Archiving<br />
Set to True. This starts messages queuing from all configuration items in the client production. Note that this<br />
queueing continues even if you disable the operation and while it is not able to connect to the Message Bank. The<br />
operation forwards any queued messages to the Message Bank server whenever it is enabled.<br />
If set to False, the operation does not queue any messages for the Message Bank.<br />
Event Log Interval<br />
How frequently should we check for conforming Event Log events that may need to be forwarded to the Message<br />
Bank server. 0 means check only when messages are being forwarded.<br />
Force Keepalives<br />
IP Address<br />
Port<br />
If set to True, send empty event submissions periodically if no conforming events need to be submitted.<br />
IP address of the Message Bank production.<br />
TCP port number for the Message Bank production input service (9192 is the default).<br />
The remaining entries in the Specific Settings column are determined by the more general business operation, business<br />
host, and TCP adapter classes from which this class inherits. See the following appropriate references for details on these<br />
adapter settings:<br />
• Configure Business Host Settings in the “Configuration” chapter.<br />
• Business Operation Settings in the “Configuration” chapter.<br />
• Adapter Settings in the “TCP Outbound Adapter” chapter of Using TCP Adapters with <strong>Ensemble</strong>.<br />
After configuring these settings, your production becomes a client of the Message Bank. Enable this business operation to<br />
see it connect to the Message Bank.<br />
12.7.2.1 Configure Archive Items<br />
This setting controls which messages the production sends to the message bank. It is a comma-separated list of configuration<br />
names of items whose messages are to be archived to the Message Bank server.<br />
Archive log events for each item using the following colon-separated syntax:<br />
item[evtype1:evtype2:Trace_cat]<br />
Within the event type brackets, you can use the following characters in your selection list:<br />
114 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
Enterprise Message Bank<br />
Pattern<br />
character<br />
*<br />
-<br />
!<br />
$<br />
-<br />
_<br />
Placement<br />
at the front of an item<br />
at the end of an item<br />
at the end of an item<br />
at the end of an item<br />
for events of type Trace<br />
Resulting action<br />
include all event types<br />
exclude the type from archiving entirely<br />
exclude message bodies from archiving<br />
exclude search table entries from archiving<br />
exclude message headers from archiving<br />
optionally used to select a particular category of trace event.<br />
Event type Trace without a suffix means Trace events of all<br />
categories.<br />
For example:<br />
• *[*] — Archive everything<br />
• *$[*],Ens.Alert![-*] — Archive all events, headers, and bodies but not SearchTable entries; but do not archive<br />
bodies or events from item Ens.Alert.<br />
Note:<br />
<strong>Ensemble</strong> only archives trace events if it has logged them. You can only use these settings to restrict which logged<br />
events get archived, not to archive any events that you did not configure to be logged.<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 115
13<br />
Testing Service<br />
The <strong>Ensemble</strong> Testing Service allows you to test a business process or business operation of a running <strong>Ensemble</strong> production<br />
in the active namespace. You can navigate to the Testing Service from the following locations in the <strong>Ensemble</strong> Management<br />
Portal:<br />
• From the <strong>Ensemble</strong> menu, click Testing Service.<br />
• From the <strong>Ensemble</strong> Configuration display on the [<strong>Ensemble</strong>] > [<strong>Productions</strong>] page, click a business process or business<br />
operation in the top pane and click Test in the bottom pane. This brings you to the second page of the testing service<br />
with the business host preselected.<br />
The Testing Service offers a series of pages that enable you to formulate and send test messages through your production:<br />
• Testing Service - 1 of 4, Select Target<br />
• Testing Service - 2 of 4, Select Message Type<br />
• Testing Service - 3 of 4, Submit Test Data<br />
• Testing Service - 4 of 4, View Results<br />
Throughout the process you can use the following commands that appear at the bottom of the page:<br />
• Click Back to return to the previous Testing Service page (unavailable on the first Testing Service page).<br />
• Click Next to continue with the next testing service page (does not appear on the last two Testing Service pages).<br />
• Click Cancel to return to the [<strong>Ensemble</strong>] home page (does not appear on the last page).<br />
13.1 Testing Service - 1 of 4, Select Target<br />
The first page of the <strong>Ensemble</strong> Testing Service provides a greeting and the name of the currently running production. The<br />
Testing Service requires that the production you want to test is running and has testing enabled.<br />
Ensure the Production is Running<br />
If the production you want to test is not the one indicated as the current production or there is no production running, perform<br />
the following procedure:<br />
1. From the <strong>Ensemble</strong> menu, click <strong>Productions</strong> to display the [<strong>Ensemble</strong>] > [<strong>Productions</strong>] page.<br />
2. Stop the running production (if any) and Start the one you want to test.<br />
3. From the <strong>Ensemble</strong> menu, click Testing Service to display the first testing service page.<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 117
Testing Service<br />
Enable Testing<br />
If testing is disabled for the running production, the first Testing Service page notifies you. Click the link to the Production<br />
Configuration page, or click <strong>Productions</strong> from the <strong>Ensemble</strong> menu to enable testing for this production:<br />
1. On the [<strong>Ensemble</strong>] > [<strong>Productions</strong>] page, click Configure next to the production you are testing.<br />
2. Under the Production Settings column at the bottom left of the page, select the Testing Enabled check box, click Apply<br />
and then OK.<br />
3. From the <strong>Ensemble</strong> menu, click Testing Service to display the first testing service page.<br />
Select Testing Target<br />
From the first page of the Testing Service, choose the testing target:<br />
1. When testing is enabled, this page offers options that let you select either a Business Process or Business Operation<br />
as the target of your testing. Choose one, then select the appropriate business host from the list to the right of your<br />
selection.<br />
2. Click Next to continue testing and move to page two of the Testing Service.<br />
13.2 Testing Service - 2 of 4, Select Message Type<br />
The second Testing Service page allows you to choose the message type you want to send. It displays the following fields:<br />
• Current Production — The name of the currently running production (view-only).<br />
• Target — The business process or business operation that you selected in the previous Testing Service page (viewonly).<br />
• Request Type — Select from a list of request messages. Only the request types that are valid for the Target are listed,<br />
including subclasses of supported types.<br />
Click Next to continue testing and move to page three of the Testing Service.<br />
13.3 Testing Service - 3 of 4, Submit Test Data<br />
The third Testing Service page provides data fields that you can use to set properties for the specific request. The fields<br />
vary depending on the method signature of the request. If the method has no properties, none are displayed.<br />
If you are testing a virtual document message (HL7, X12), there is a free-form box where you can paste test message content.<br />
Below this box you can enter object properties for the message.<br />
Click Invoke to submit the request with the values you entered and move to page four of the Testing Service.<br />
13.4 Testing Service - 4 of 4, View Results<br />
If time elapses while the Testing Service attempts the request, a Waiting page displays the following view-only information:<br />
• Target — The session ID associated with the request.<br />
118 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
Testing Service - 4 of 4, View Results<br />
• Request Type — The request type of the selected target.<br />
• Session Id — The session ID associated with the request.<br />
• Request Sent — The date and time when the request was sent.<br />
• Response received — The status Waiting and a graphical progress bar, indicating that work is being done.<br />
Finally, the Results page displays any output values from the response generated by your request, including any errors with<br />
the full error message text.<br />
You can perform one of the following commands when the test completes:<br />
• Click Done to return to the <strong>Ensemble</strong> home page.<br />
• Click Trace to navigate to the Visual Trace page to visually follow the path of the message through the production.<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 119
14<br />
EDI / HL7 Manager<br />
The [<strong>Ensemble</strong>] > [EDI and HL7 Manager] page allows you to view and transform Electronic Data Interchange (EDI) messages<br />
to determine how you want your <strong>Ensemble</strong> production to handle them. To display the page, click EDI / HL7 Manager in the<br />
<strong>Ensemble</strong> menu.<br />
Under the title bar is a display area with a table of links. Each row in the table corresponds to a family of Electronic Data<br />
Interchange (EDI) document types. The available links are:<br />
• ASC X12 — Display the Web site for the Accredited Standards Committee (ASC) X12, founded by the American<br />
National Standards Institute (ANSI) as a cross-industry forum to build and support electronic data exchange standards,<br />
related documents and products intended for worldwide use. The URI is http://www.x12.org/<br />
For details about X12, see the “Viewing and Transforming Documents” chapter in the <strong>Ensemble</strong> X12 Development<br />
Guide.<br />
• ASTM — Display the Web site for ASTM International Standards Worldwide. The URI is http://www.astm.org/.<br />
For details, see the “Viewing and Transforming Documents” chapter in the <strong>Ensemble</strong> ASTM Development Guide.<br />
• HL7 Version 2 — Display the Web site for the American National Standards Institute (ANSI) standards developing<br />
organization Health Level Seven (HL7). The URI is http://www.hl7.org/<br />
For details about HL7 Version 2, see the “Viewing and Transforming Messages” chapter in the <strong>Ensemble</strong> HL7 Version<br />
2 Development Guide.<br />
• UN/EDIFACT — Display the Web site for United Nations Directories for Electronic Data Interchange for Administration,<br />
Commerce and Transport. The URI is http://www.unece.org/trade/untdid/welcome.htm<br />
For details, see the “Viewing and Transforming Documents” chapter in the <strong>Ensemble</strong> EDIFACT Development Guide.<br />
Each choice has a link for Schema Structures and a Document or Message Viewer.<br />
14.1 Schema Structures<br />
• ASC X12 — Displays a list of the supported X12 schema specifications. You can click on any link in the display to<br />
drill down for details.<br />
• ASTM — Displays a list of the supported ASTM schema specifications. You can click on any link in the display to<br />
drill down for details.<br />
• HL7 Version 2 — Displays a list of the supported HL7 Version 2.x schema specifications. You can click on any link<br />
in the display to drill down for details.<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 121
EDI / HL7 Manager<br />
• UN/EDIFACT — Displays a list of the supported EDIFACT schema categories and implementation guides and the<br />
transaction set implementation names they define. You can import schema categories from SEF and XML files.<br />
14.2 Document/Message Viewer<br />
When you click Document Viewer or Message Viewer next to one of the EDI document types, the [<strong>Ensemble</strong>] > [EDI and<br />
HL7 Manager] > [EDI Document Viewer] page displays with the following specific information depending on the type:<br />
• ASC X12 — Options on this page allow you to retrieve X12 message data from external files or the <strong>Ensemble</strong> message<br />
archives to preview the results of applying various parsing schemes or data transformations to the message data.<br />
• ASTM — Options on this page allow you to retrieve ASTM message data from external files or the <strong>Ensemble</strong> message<br />
archives to preview the results of applying various parsing schemes or data transformations to the message data.<br />
• HL7 Version 2 — Options on this page allow you to retrieve HL7 message data from external files or the <strong>Ensemble</strong><br />
message archives to preview the results of applying various parsing schemes or data transformations to the message<br />
data<br />
• UN/EDIFACT — Options on this page allow you to retrieve EDIFACT message data from external files or the <strong>Ensemble</strong><br />
message archives to preview the results of applying various parsing schemes or data transformations to the message<br />
data.<br />
122 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
Index<br />
A<br />
actor pool<br />
and jobs, 35<br />
and queues, 38<br />
size of, 52, 57, 59, 60<br />
Actor Pool Size field, 52<br />
Adapter Class field, 60, 61<br />
adapters<br />
inbound, 59<br />
outbound, 61<br />
adding<br />
business operations, 52<br />
business processes, 52<br />
business rules, 33<br />
business services, 52<br />
items to a production, 16<br />
login credentials, 107<br />
portal user accounts, 5<br />
Alert Grace Period field, 60<br />
Alert log entry type, 67<br />
Alert On Error field, 58<br />
Alert Retry Grace Period field, 61, 62<br />
Archive IO field, 58<br />
Archive Manager page, 108<br />
archives<br />
see log entries<br />
Assert log entry type, 67<br />
Auto-Start Production field, 104<br />
B<br />
BPL Viewer page, 88<br />
browsers, Web, 3<br />
business activity monitoring, 29<br />
business hosts<br />
configuring, 54<br />
scheduling start and stop, 56<br />
Business Host Settings<br />
Alert On Error, 58<br />
Archive IO, 58<br />
Category, 56<br />
Change Class, 55<br />
Class, 56<br />
Comment, 56<br />
Enabled, 57<br />
Foreground, 57<br />
Inactivity Timeout, 57<br />
Log Trace Events, 57<br />
Name, 56<br />
Pool Size, 57<br />
business metrics, 24<br />
and dashboards, 29<br />
viewing properties, 31<br />
Business Metrics page, 31<br />
business operations, 23<br />
adding, 52<br />
configuring, 61<br />
Error, 96<br />
host class, 23<br />
Inactive, 96<br />
in productions, 25, 46<br />
listing instantiated objects, 95<br />
monitoring, 95<br />
OK, 96<br />
production diagram, 46<br />
Retry, 96<br />
status of, 96<br />
BusinessOperation Settings<br />
Reply Code Actions, 62<br />
Business Operation Settings<br />
Adapter Class, 61<br />
Alert Retry Grace Period, 62<br />
Credentials, 62<br />
Failure Timeout, 62<br />
Retry Interval, 62<br />
business processes, 23<br />
adding, 52<br />
BPL diagram, 88<br />
configuring, 60<br />
Error, 96<br />
host class, 23<br />
Inactive, 96<br />
in productions, 24, 46<br />
instances, 91<br />
listing instantiated objects, 95<br />
monitoring, 91, 95<br />
OK, 96<br />
production diagram, 46<br />
Retry, 96<br />
status of, 96<br />
viewing a list of, 87<br />
Business Processes page, 87<br />
BPL Viewer, 88<br />
color indicators on, 92<br />
Definition, 88<br />
Instances, 91<br />
SessionId, 76<br />
Business Process Instance page<br />
Purge, 93<br />
Business Process Instances page, 91<br />
Business Process Settings<br />
Alert Retry Grace Period, 61<br />
Enabled field, 60<br />
Failure Timeout, 61<br />
Pool Size, 60<br />
Reply Code Actions, 61<br />
Retry Interval, 61<br />
Business Rule Editor page<br />
Rule List, 33<br />
Business Rule Log page<br />
Filter Rule Log, 93<br />
SessionId, 76<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 123
usiness rules, 32<br />
adding, 33<br />
list of rule definitions, 33<br />
Business Rules page, 33<br />
business services, 22<br />
adding, 52<br />
configuring, 59<br />
Error, 96<br />
host class, 22<br />
Inactive, 96<br />
in productions, 24, 46<br />
listing instantiated objects, 95<br />
monitoring, 95<br />
OK, 96<br />
production diagram, 46<br />
Retry, 96<br />
status of, 96<br />
Business Service Settings<br />
Adapter Class, 60<br />
Alert Grace Period, 60<br />
Call Interval, 60<br />
Class, 56<br />
Credentials, 60<br />
Enabled, 57<br />
Pool Size, 59<br />
C<br />
Call Interval field, 29, 60<br />
Category field, 56<br />
Change Class command, 55<br />
classes<br />
see host classes<br />
Class field, 56, 56<br />
color<br />
in XML syntax displays, 75, 92<br />
color as a status indicator<br />
Business Processes page, 92<br />
Configuration page, 50<br />
Event Log page, 68<br />
Host Monitor page, 96, 97<br />
Jobs page, 36<br />
Message Browser page, 80<br />
Queues page, 99, 100<br />
System Monitor page, 65<br />
Comment field, 56<br />
Compare Messages, 75<br />
Completed status, 37<br />
configuration items, 23<br />
Configuration page, 45<br />
Add Operation, 52<br />
Add Process, 52<br />
Add Service, 52<br />
BPL Definition, 88<br />
Business Host Settings, 54<br />
Business Operations, 46<br />
Business Operation Settings, 61<br />
Business Processes, 46<br />
Business Process Settings, 60<br />
Business Services, 46<br />
Business Service Settings, 59<br />
Production Settings, 51<br />
Specific Settings, 59, 61<br />
Start Production, 42<br />
Stop Production, 43<br />
configuring, 16<br />
business hosts, 54<br />
business operations, 61<br />
business processes, 60<br />
business rules, 33<br />
business services, 59<br />
inbound adapters, 59<br />
login credentials, 107<br />
outbound adapters, 61<br />
productions, 51<br />
remote connections, 107<br />
workflow, 40<br />
Created status, 37<br />
credentials, login, 29<br />
configuring, 107<br />
for inbound adapters, 60<br />
for outbound adapters, 62<br />
portal user accounts, 5<br />
Credentials field, 60, 62<br />
Credentials page, 107<br />
ID, 107<br />
Password, 107<br />
Username, 107<br />
D<br />
Dashboard page, 30<br />
View, 30<br />
dashboards, 29<br />
viewing a list, 30<br />
viewing individually, 30<br />
Default Settings page, 110<br />
Deferred status, 37<br />
Delivered status, 37<br />
Dequeuing status, 36<br />
diagnostics<br />
see testing<br />
diagrams<br />
BPL business process, 88<br />
production, 45<br />
Discarded status, 37<br />
documentation<br />
production, 44<br />
E<br />
Enabled field, 57, 57, 60<br />
Ens.Actor, 36, 38, 60, 74, 102<br />
Ens.BusinessOperation, 23<br />
Ens.BusinessProcess, 23<br />
Ens.BusinessService, 22<br />
Ens.Host, 22<br />
Ens.Item, 23<br />
Ens.Request, 36<br />
Ens.Response, 36<br />
<strong>Ensemble</strong> Management Portal, 3<br />
commands, 10<br />
items to manage, 21<br />
login credentials, 5<br />
124 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
starting, 4<br />
tasks to perform, 15<br />
<strong>Ensemble</strong> version, 103<br />
Enterprise Message Bank page, 111<br />
errors<br />
Error log entry type, 67<br />
Error status, 36, 96<br />
IsError status, 74, 101<br />
Log Trace Events, 57<br />
event log, 33<br />
filtering, 68<br />
monitoring, 65<br />
purging, 69<br />
types of entries, 67<br />
viewing, 67<br />
Event Log page, 67<br />
color indicators on, 68<br />
Filter Event Log, 68<br />
Purge, 69<br />
execution context<br />
viewing, in XML format, 92<br />
Explorer, Internet, 3<br />
external connections<br />
monitoring, 65<br />
F<br />
Failure Timeout field, 61, 62<br />
Filter Event Log command, 68<br />
filtering lists, 17<br />
business process instances, 93<br />
event log, 68<br />
message log, 79<br />
Finished status, 43, 43<br />
Foreground field, 57<br />
G<br />
graphics<br />
see color; diagrams<br />
H<br />
History command, 98<br />
Home page, 6<br />
Start Production, 42<br />
Stop Production, 43<br />
host classes, 22<br />
Host Monitor page, 95<br />
color indicators on, 96, 97<br />
History, 98<br />
Instances, 97<br />
I<br />
I/O archive, 34<br />
ID field, 29, 60, 62, 107<br />
Inactive status, 8, 57, 96<br />
Inactivity Timeout field, 57, 96<br />
inbound adapters, 59<br />
Info log entry type, 67<br />
Instances command, 97<br />
Internet Explorer, 3<br />
IsError status, 74, 101<br />
items<br />
see configuration items<br />
J<br />
jobs, system, 35<br />
Dequeuing, 36<br />
Error, 36, 96<br />
Inactive, 8, 96<br />
monitoring, 35<br />
OK, 8, 96<br />
pool size, 52, 57, 59, 60<br />
Quiescent, 36<br />
Retry, 96<br />
Running, 36<br />
status of, 8, 35<br />
Jobs page, 35<br />
color indicators on, 36<br />
L<br />
listing<br />
see viewing<br />
log, business rule<br />
see business rule log<br />
log, event<br />
see event log<br />
log, message<br />
see message log<br />
login credentials, 29<br />
configuring, 107<br />
for inbound adapters, 60<br />
for outbound adapters, 62<br />
portal user accounts, 5<br />
Login page, 5<br />
Logout page, 10<br />
Log Trace Events field, 57<br />
Log Unassigned Trace Events field, 52<br />
Lookup Settings page, 109<br />
M<br />
Maintenance page, 103<br />
Archive Manager, 108<br />
Auto-Start Production, 104<br />
Credentials, 107<br />
Default Settings, 110<br />
Enterprise Message Bank, 111<br />
Lookup Settings, 109<br />
Purge Management Data, 105<br />
Suspended Messages, 104<br />
management<br />
see <strong>Ensemble</strong> Management Portal<br />
Message Bank, 111<br />
Message Browser page, 71<br />
color indicators on, 80<br />
Compare Messages, 75<br />
Contents, 75<br />
Details, 73<br />
filtering, 79<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 125
Trace, 76<br />
message log<br />
and XML, 75, 92<br />
filtering, 79<br />
message details, 73<br />
viewing, 71<br />
messages, 36, 37<br />
and XML, 75<br />
Completed, 37<br />
Created, 37<br />
Deferred, 37<br />
Delivered, 37<br />
Discarded, 37<br />
IsError, 74, 101<br />
on specific queues, 99<br />
Queued, 37<br />
sending test messages, 117<br />
status of, 72<br />
Suspended, 37, 104<br />
visual trace of, 76<br />
Waiting, 118<br />
metrics, business<br />
see business metrics<br />
monitoring, 17<br />
business operations, 95<br />
business processes, 91, 95<br />
business services, 95<br />
dashboards, 30<br />
event log, 65<br />
external connections, 65<br />
instantiated objects, 97<br />
jobs, 35<br />
levels of activity over time, 98<br />
messages on specific queues, 99<br />
productions, 65, 95<br />
queues, 65, 99<br />
N<br />
Name field, 56<br />
namespace, 6<br />
navigation path, 6<br />
O<br />
OK status, 8, 96<br />
operations, business<br />
see business operations<br />
outbound adapters, 61<br />
P<br />
Password field, 107<br />
passwords, 29<br />
configuring, 107<br />
for inbound adapters, 60<br />
for outbound adapters, 62<br />
portal user accounts, 5<br />
pool, actor<br />
and jobs, 35<br />
and queues, 38<br />
size of, 52, 57, 59, 60<br />
Pool Size field, 52, 57, 59, 60<br />
portal<br />
see <strong>Ensemble</strong> Management Portal<br />
processes, business<br />
see business processes<br />
productions, 21<br />
Actor Pool Size, 52<br />
and XML, 52<br />
automatic start or stop, 104<br />
configuring, 51<br />
dashboards for, 30<br />
diagram, 45<br />
documentation, 44<br />
instantiated objects, 97<br />
listing instantiated objects, 95<br />
login credentials for, 107<br />
Log Unassigned Trace Events, 52<br />
long term archives, 108<br />
lookup tables, 109<br />
maintenance of, 103<br />
monitoring, 65, 95<br />
purging management data, 105<br />
Running, 42<br />
settings, 51<br />
starting, 42<br />
status of, 41<br />
Stopped, 42<br />
stopping, 43<br />
storing, 19<br />
Suspended, 42<br />
testing, 19, 117<br />
Testing Enabled, 52<br />
Troubled, 42<br />
viewing a list of, 41<br />
<strong>Productions</strong> page, 41<br />
Configure, 45<br />
<strong>Documentation</strong>, 44<br />
Finished, 43, 43<br />
Start, 42<br />
Stop, 43<br />
Purge Management Data page, 105<br />
Show Business Processes, 87, 91<br />
purging, 18<br />
all management data, 105<br />
business process instances, 93<br />
event log, 69<br />
Q<br />
Queue Contents page, 99<br />
Details, 73, 100<br />
Trace, 76<br />
Queued status, 37<br />
queues, 38<br />
monitoring, 65<br />
status of, 38<br />
viewing a list of messages, 99<br />
viewing message contents, 99<br />
Queues page, 99<br />
color indicators on, 99, 100<br />
Contents, 99<br />
Quiescent status, 36<br />
126 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>
R<br />
Reply Code Actions field, 61, 62<br />
resubmitting suspended messages, 105, 105<br />
Retry Interval field, 61, 62<br />
Retry status, 96<br />
routing process, 25<br />
rules, business<br />
see business rules<br />
Running status, 36, 42<br />
S<br />
Schedule field, 56<br />
searching<br />
log entries, 17<br />
selecting<br />
items to configure, 45<br />
main menu commands, 6<br />
maintenance tasks, 103<br />
management data to purge, 105<br />
services, business<br />
see business services<br />
SessionId<br />
and Visual Trace, 76<br />
sessions, 39<br />
recorded in the message log, 71<br />
visual trace of, 76<br />
settings<br />
business host, 54<br />
business operation, 61<br />
business process, 60<br />
business service, 59<br />
inbound adapter, 59<br />
outbound adapter, 61<br />
production, 51<br />
Show Business Processes, 91<br />
starting, 18<br />
automatic start and stop, 56<br />
automatic start or stop, 104<br />
<strong>Ensemble</strong> Management Portal, 4<br />
production, 42<br />
resubmitting suspended messages, 104<br />
status<br />
business hosts, 57<br />
business operations, 96<br />
business processes, 91, 96<br />
business services, 96<br />
configuration items, 50, 97<br />
event log entries, 67<br />
jobs, 8, 35, 36, 96<br />
messages, 37, 72, 74, 101<br />
messages on specific queues, 99<br />
productions, 41<br />
queues, 38, 99<br />
suspended messages, 104<br />
test messages, 118<br />
status, color indicators for<br />
Business Processes page, 92<br />
Configuration page, 50<br />
Event Log page, 68<br />
Host Monitor page, 96, 97<br />
Jobs page, 36<br />
Message Browser page, 80<br />
Queues page, 99, 100<br />
System Monitor page, 65<br />
Status log entry type, 67<br />
Stopped status, 42<br />
stopping, 18<br />
automatic start and stop, 56<br />
automatic start or stop, 104<br />
<strong>Ensemble</strong> Management Portal, 10<br />
production, 43<br />
resubmitting suspended messages, 104<br />
storing, 19<br />
long term archives, 108<br />
lookup tables, 109<br />
suspended messages, 104<br />
Suspended Messages page, 104<br />
Details, 73<br />
Resend Editor, 105<br />
Resubmit, 105<br />
Trace, 76<br />
Suspended status, 37, 42, 104<br />
SVG Viewer, 4<br />
System Monitor page, 65<br />
color indicators on, 65<br />
T<br />
testing, 19, 117<br />
Testing Enabled field, 52<br />
Testing Service page, 117<br />
Trace, 76<br />
Waiting, 118<br />
timeouts, 57<br />
trace, visual, of messages, 76<br />
Trace log entry type, 67<br />
Troubled status, 42<br />
U<br />
Username field, 107<br />
usernames, 29<br />
configuring, 107<br />
for inbound adapters, 60<br />
for outbound adapters, 62<br />
portal user accounts, 5<br />
V<br />
versions<br />
<strong>Ensemble</strong>, 103<br />
Internet Explorer, 3<br />
SVG Viewer, 4<br />
Viewer, BPL, 88<br />
Viewer, SVG, 4<br />
viewing, 20<br />
business host setting, 54<br />
business operation settings, 61<br />
business process BPL diagram, 88<br />
business processes, 91<br />
business process settings, 60<br />
business service setting, 59<br />
<strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong> 127
dashboards, 30<br />
event log entries, 67<br />
list of business processes, 87<br />
list of productions, 41<br />
list of rule definitions, 33<br />
login credentials, 107<br />
message contents, 75<br />
message log, 71, 73<br />
message trace, 76<br />
production settings, 51<br />
suspended messages, 104<br />
Visual Trace page, 76<br />
W<br />
Waiting status, 118<br />
Warning log entry type, 67<br />
workflow, 39<br />
configuring, 40<br />
operations, 25<br />
Workflow Portal page, 40<br />
X<br />
XML<br />
message contents, 75, 92<br />
production settings, 52<br />
viewing the execution context, 92<br />
128 <strong>Managing</strong> <strong>Ensemble</strong> <strong>Productions</strong>