Hewlett-packard user guide printer printer (333 pages)
Summary of Contents for Sun Microsystems iPlanet Integration Server 3.0
Page 1
Process System Guide iPlanet™ Integration Server Version 3.0 August 2001...
Page 2
Le logiciel détenu par des tiers, et qui comprend la technologie relative aux polices de caractères, est protégé par un copyright et licencié par des fournisseurs de Sun. Sun, Sun Microsystems, le logo Sun, Java, iPlanet et le logo iPlanet sont des marques de fabrique ou des marques déposées de Sun Microsystems, Inc. aux Etats-Unis et dans d'autres pays.
List of Procedures To copy the documentation to a client or server ..........24 To view and search the documentation .
Page 16
To use the Dump/Restore application to restore database tables ......133 To transfer iIS library distributions to a production environment ......141 To register one or more distributions using the iIS Console .
Page 17
To view all engine events for an existing process ......... . 219 To view all engine events for the next process instance of a specific process definition .
Page 18
iPlanet Integration Server • Process System Guide • August 2001...
Preface The iIS Process System Guide describes how to manage a process system, one of the two subsystems that comprise iIS. The guide provides the system management principles and concepts upon which a process system is based, and describes how to perform process system management tasks.
Audience for This Guide Audience for This Guide This book assumes familiarity with the basic concepts underlying an iIS process system. A discussion of these concepts and a description of iIS process system components, the functions they perform, and how they interact with an iIS Backbone can be found in the iIS Conceptual Overview.
Text Conventions Chapter Description Chapter 8, “Using the Conductor Explains how to perform iIS system management Script Utility” tasks using Conductor Script commands. Appendix A, “Conductor Script Provides a command reference for Conductor Script, Commands” a command line tool for process system management. Appendix B, “Engine Database Provides a reference for the iIS process engine Schema”...
Other Documentation Resources Syntax Statements Syntax statements that describe usage of TOOL methods and script commands use the following conventions: Format Description parentheses ( ) Parentheses enclose a parameter list. comma , Commas separate items in a parameter list. vertical bars | Vertical bars indicate a mutually exclusive choice between items.
Other Documentation Resources iPlanet Integration Server Documentation iIS Adapter Development Guide iIS Backbone Integration Guide iIS Backbone System Guide iIS Conceptual Overview iIS Installation Guide iIS Process Client Programming Guide iIS Process Development Guide iIS Process System Guide Online Help When you are using an iIS development application, press the F1 key or use the Help menu to display online help.
iIS Example Programs iIS Example Programs iIS example programs are shipped with the iIS product and installed in two locations, one for process development (using the process engine) and one for application integration (using the iIS backbone). Process Development Examples Process development examples are installed at the following location: FORTE_ROOT/install/examples/conductr The PDF file,...
Page 25
Viewing and Searching PDF Files Set up a directory structure that keeps the and the directory in iisdoc.pdf the same relative location. The directory structure must be preserved to use the Acrobat search feature. To uninstall the documentation, delete the directory.
Page 26
Viewing and Searching PDF Files Click the buttons on the Acrobat Reader toolbar or use shortcut keys to navigate through the search results, as shown in the following table: Toolbar Button Keyboard Command Next Highlight Ctrl+] Previous Highlight Ctrl+[ Next Document Ctrl+Shift+] To return to the file, click the Homepage bookmark at the top of...
Chapter 1 Introduction: iIS Process Management iIS process system management is largely devoted to managing iIS process engines and the functions they perform. This chapter provides a high level description of what an iIS process engine is and what it does. It describes the relationship of the engine to other parts of the iIS system and describes its component parts.
Page 28
What Is an iIS Process Engine? Once a process definition has been registered with the engine, an iIS process client application (or an application proxy—see Figure 1-1 on page 30) can open a session with the engine and create an instance of the process. The client application or proxy provides any data required to start the process instance, and then the engine takes over.
What Is an iIS Process Engine? Multiple Engine Systems An iIS system does not need to be limited to a single engine. It can have any number of engines. For example, one engine might be used for testing and another used for production.
What Is an iIS Process Engine? An iIS Process Management System Figure 1-1 Process Develpment Workshops Central Development Repository Registration System Management Tools Organization Database Process Engines Engine Client Applications Database TOOL CORBA/IIOP ActiveX Engine Application JAVA Enterprise Database Services Databases iPlanet Integration Server •...
iIS Process Engine Components iIS Process Engine Components As mentioned earlier in this chapter, an iIS process engine is the heart of an iIS system and has been designed to support mission-critical production application systems. The iIS process engine maintains performance under heavy and/or increasing loads and provides automatic recovery in case of unanticipated system failure.
iIS Process Engine Components Minimal Engine Configuration Figure 1-2 Client Applications iIS Process Engine Primary Engine Unit Database Engine Service Database Engine Unit The engine unit is an application that performs all the basic iIS engine functions (see “What Does an iIS Process Engine Do?” on page 36).
iIS Process Engine Components engine database is not supplied by the iIS product and must be set up independently; however, the engine unit can create all required database tables at startup time. The iIS process engine supports all relational database systems supported by iPlanet UDS (for example, Sybase, Oracle, Informix, and so on).
Page 34
iIS Process Engine Components opens a channel to the backup unit, which takes over by recovering all the persistent state information stored in the engine database. The new primary engine unit starts process execution at the point where the old primary engine unit left it. Client sessions with the engine are maintained throughout this failover transition.
iIS Process Engine Components Full Configuration: Failover and Load Balancing Combined To deal with heavy loads on the engine and overcome the potential bottleneck of a single database service, additional database services can be added to the failover engine configuration, as illustrated in Figure 1-4.
What Does an iIS Process Engine Do? What Does an iIS Process Engine Do? As suggested in “What Is an iIS Process Engine?” on page 27, an iIS process engine performs a number of different functions in support of an iIS system. These include the following.
iIS Process Management Tasks Engine Manager Objects Figure 1-5 Engine Unit Engine Object Session Process Registration History Manager Manager Manager Manager Timer Access Manager Database Manager Service iIS Process Management Tasks iIS process management tasks can be grouped into four broad categories: •...
iIS Process Management Tasks Setting Up an iPlanet UDS Runtime Environment An iIS process management system runs in an iPlanet UDS software environment. Both the development and production capabilities of iIS (both process development and process execution) use the distributed runtime services provided by an iPlanet UDS environment.
iIS Process Management Tasks Managing iIS Process Engines Care must be taken to make sure that each iIS process engine is set up and performing properly. Managing engines consists of the following tasks: • configuring engines • starting up and shutting down engine components •...
iIS Process Management Tools Managing process execution involves monitoring the activity of the engine and making administrative adjustments when necessary. The specific tasks include: • monitoring engine sessions, and suspending or terminating sessions when necessary • monitoring the number of process instances being executed by an engine at any time •...
iIS Process Management Tools Conductor Script Utility The Conductor Script utility is the functional equivalent of the iIS Console application, but with a command-line interface. You can perform any of the functions using Conductor Script commands that you can perform in the iIS Console, but you can also incorporate these functions into scripts for execution at specified times.
Page 42
iIS Process Management Tools iPlanet Integration Server • Process System Guide • August 2001...
Chapter 2 Setting Up an iIS Process Management System Setting up an iIS process management system—whether for development, testing, production, or a combination of the three—is the first task you must perform as an iIS process system manager. System setup involves determining which nodes in your environment support the different components of your iIS process system, and then installing the appropriate iIS software on each of these nodes.
Preparation: Setting up an iPlanet UDS Runtime Environment Preparation: Setting up an iPlanet UDS Runtime Environment An iIS process system runs in an iPlanet UDS software environment. Both the development and runtime capabilities of iIS (process development and process execution) use the distributed runtime services provided by an iPlanet UDS environment.
iIS Process System Components The iPlanet UDS installation program creates an iPlanet UDS directory structure and source files on your target node, sets a number of environment variables used by iPlanet UDS at startup time, and creates startup scripts for starting the appropriate system management service—the Environment Manager or Node Manager—for your target node.
iIS Process System Components Components of an iIS Process System Figure 2-1 Process Develpment Workshops Central Development Repository Registration System Management Tools Organization Database iIS Process Engines Primary Engine Unit Database Database Service Governor Engine Database Service Client Applications Service Database TOOL Backup...
iIS Process System Software To set up an iIS process system, install the iIS system software modules that support development on your development nodes. Then install the iIS runtime modules on the nodes on which you will be executing your distributed enterprise applications.
Page 48
iIS Process System Software Process System Software Modules (Continued) Table 2-1 Software Module Category Description WFLibrary Process A library distribution that supports the development process development workshops. Needed in (compiled) iIS process development repository and on process development nodes. WFModel Process A library distribution that provides repository development...
Page 49
iIS Process System Software Process System Software Modules (Continued) Table 2-1 Software Module Category Description WFClientAPI C++ client A DLL required to write process client application application code in C++. Needed on C++ client (compiled) development application development nodes, and on runtime nodes running C++ client applications.
iIS Process System Software Process System Software Modules (Continued) Table 2-1 Software Module Category Description WFEnvDefinition System A library distribution that provides underlying system management support for (compiled) accessing iIS process engines and performing registration of process definitions. Needed on all nodes.
iIS Process System Software Before you invoke the setccomp script, you must do the following Set the FORTE_ROOT environment variable to point to a valid iIS installation. Install the following iIS library distributions in the iPlanet UDS development environment: WFGovernor WFEngineUnit WFDatabaseSvc Start the iPlanet UDS Environment Manager on the server node where you...
Page 52
iIS Process System Software Repository server A server node (runs an iPlanet UDS Node Manager) that hosts the iIS central development repository and repository service. Engine server A server node (runs an iPlanet UDS Node Manager) that hosts one or more engine components of one or more engines. One of the engine servers typically hosts an engine database.
iIS Process System Software iIS Process System Configuration Figure 2-2 Central Server Process Development Environment Process Manager Development Workshops Repository Server Client Application Development Repository Central Service Development Client API Repository Engine Server System Management Tools Engine Conductor Database Console Engine Components Runtime Applications...
Page 54
iIS Process System Software For the purpose of system setup, the primary considerations are that the iIS process engine is the workhorse of your iIS process system and that it accesses a potentially very large database. Your engine server node or nodes should therefore be a very high performance server with plenty of available memory.
Setting Up an iIS Process System Setting Up an iIS Process System After you have decided how to configure your iIS process system (and filled out the table in the previous section), you are ready to set up your system. To set up an iIS process system, run the platform-specific iIS installation program on each node requiring iIS process system software.
Setting Up an iIS Process System After process client applications have been developed, run the iIS installation program on all runtime client nodes (those nodes that support an iIS process client application but do not support development). In sites developing or running process client applications using the CORBA/IIOP interface to the iIS engine, start the CORBA/IIOP interface service using the IIOPServer Conductor Script command (see “IIOPServer”...
Setting Up an iIS Process System Central Server Installation On a central server node—the first node to be installed in an iIS system—the iIS installation program performs the operations described in the following table: Operation Software Module FORTE_ROOT directory Prepares node as the central distribution All application appdist node for all distributions.
Setting Up an iIS Process System Engine Server Installation On an engine server node, which must be installed after the central server node, the iIS installation program performs the operations described in the following table: Operation Software Module FORTE_ROOT directory Transfers iIS repository files to node.
Setting Up an iIS Process System Development Client Installation A development client node can be used for either process development or client application development. On a development client node, which must be installed after the central server node, the iIS installation program performs the operations described in the following table: Operation Software Module...
Setting Up an iIS Process System Runtime Client Installation On a runtime client node, which must be installed after the central server node, the iIS installation program performs the operations described in the following table: Operation Software Module FORTE_ROOT directory Installs iIS TOOL client libraries.
Maintaining an iIS Process System Maintaining an iIS Process System Once your iIS process system is set up and functional (including configuration and startup of engines, as discussed in Chapter 4, “Managing Engines”), there are relatively few maintenance tasks that you need to perform. Most maintenance concerns the databases in the system.
Maintaining an iIS Process System Choose default or custom installation, depending on the components you want to install on the node. If you know the application or library distributions required for the NOTE new node (see Table 2-1 on page 47), you can install them using iPlanet UDS system management services rather than the iIS installation program.
Maintaining an iIS Process System Move the two iIS repository files (reposname.btx and reposname.btd) from FORTE_ROOT/repos on the original Repository Server node to the same location on the target node. Modify the iPlanet UDS startup script on the server to include the rpstart command needed to start the iIS repository server (see the iPlanet UDS System Management Guide).
Maintaining an iIS Process System Uninstalling an iIS System Because iIS server software is installed using iPlanet UDS system management services, the iPlanet UDS environment repository has a record of all engine components installed on servers in your environment. To uninstall an iIS system, first use iPlanet UDS system management tools (Environment Console or Escript) to uninstall these components from the environment.
Chapter 3 The iIS Console This chapter describes the iIS Console, the iIS product’s window-based tool for performing iIS process management tasks. This chapter assumes that you have set up an iIS process management system and have installed iIS process management applications (iIS Console and Conductor Script) on at least one node in your environment.
Page 66
Overview The iIS Console is used for the following four general kinds of iIS process management tasks: • configure and manage process engines The iIS Console provides a set of windows that let you configure a new iIS engine, start and view the status of an already configured engine, and reconfigure an existing engine, if necessary.
Starting the iIS Console Starting the iIS Console You can start the iIS Console on any node in your iPlanet UDS environment where it has been installed. To start the iIS Console on Windows or Windows NT Double-click the iIS Console icon. Enter a valid password if one is requested (see “Setting Password Protection for iIS Console”...
The iIS Console Main Window The following table describes the command line flags for the command. cconsole Flag Description Specifies the log flags to use for the iIS Console session. See the -fl log_flags iPlanet UDS System Management Guide for information about /LOGGER=log_flags the syntax for specifying log flags.
The iIS Console Main Window iIS Console Main Window Figure 3-1 Menu bar Active environment Engines Popup menu Main viewing panel Main Viewing Panel The main viewing panel displays all configured engines in an iPlanet UDS environment. Engines are shown with icons representing the state of each engine: Engine is configured but has not been started.
The iIS Console Main Window Menu Bar The iIS Console menu bar provides all the commands you can execute from the main window. The menus are summarized below, and a full list of the commands is provided at the end of this chapter. The main window menus are: Environment menu Provides environment-wide iIS Console commands (such as for registrations), or general commands such as opening a window to see alerts...
The iIS Console Main Window Setting Password Protection for iIS Console You can restrict access to iIS Console by setting password protection for your active iIS environment. A password is then required to open iIS Console, as well as any other system management tools, such as Conductor Script and the iPlanet UDS Environment Console.
Using iIS Console Windows Using iIS Console Windows The iIS Console is a graphical system application developed in iPlanet UDS whose windows behave in accordance with your host window system. If you use graphical applications in your host window system, the Console will be familiar. Using the Mouse The iIS Console behaves like any standard application in your window system—mouse clicks select objects, double-clicks open objects, and click-and-drag...
Using iIS Console Windows To set the automatic refresh interval Choose View > Set Refresh Interval. The Refresh Interval window displays with the default time interval setting: Enter a new time interval in milliseconds. A time interval of zero turns off automatic refresh. Click OK.
Using iIS Console Windows Operators You can build filter expressions that use both comparison and logical operators. The comparison operators are listed in the following table: Comparison Operator Description equal to <> not equal to < less than > greater than <= less than or equal to >=...
Using iIS Console Windows Object State/Status Value Activity READY Activity ACTIVE Activity COMPLETED Activity ABORTED Timer Timer Example Filter Expression In the session list example, suppose you enter the following expression in the Filter window: Chapter 3 The iIS Console...
Using iIS Console Windows The resulting session list would then be the following: Choose Clear to revert to the default list. NOTE Sorting iIS Console Lists The iIS Console lets you sort sessions, activities, and process instances by name, version, primary attribute value, primary attribute name, ID, or creation time. From the Monitor menu select the type of information you want to sort.
Using iIS Console Windows If you select a text field, you can also specify that case-sensitivity apply to the displayed text by checking Case Sensitive Text Comparison. Click OK. The items you can sort by varies according to the monitor window NOTE whose items you are sorting.
iIS Console Main Window Command Summary iIS Console Main Window Command Summary The following tables summarize the commands available from the iIS Console main window. Environment Menu Command Description See… Alarms… Lets you view all alarms received from the page 208 selected engine.
iIS Console Main Window Command Summary View Menu Command Description See… Refresh Now Forces an immediate refresh of the engine list page 72 in the main viewing panel. Set Refresh Interval… Opens a Refresh Interval window where you page 72 can set the time interval between automatic refreshes of the window display.
iIS Console Main Window Command Summary Command Description See… Trace… Opens an engine trace window in which you display page 212 messages, of the type you specify, generated by the various engine components. Event Trace… Opens the engine event filter window which lets you page 217 select the type of filter to use for displaying engine events as well as a filter time interval.
iIS Console Main Window Command Summary Command Description See… Activities Opens the engine activity instances window, which page 179 Resident… displays the list of all activity instances for the selected engine. You can sort this list by activity name, activity ID, activity state, and process name.
Page 82
iIS Console Main Window Command Summary iPlanet Integration Server • Process System Guide • August 2001...
Chapter 4 Managing Engines This chapter describes how to manage iIS process engines. It covers the following topics: • configuring an engine • starting an engine • monitoring and changing the state of an engine • reconfiguring an engine to accommodate increased load, improve performance, or recover from failure •...
Page 84
Production Engines Versus Development Engines Production Engine Development Engine State information is needed for recovery: State information does not need to be current state logging to the engine stored in the engine database: current database is always turned on. state logging can be turned off. Backup engine unit and governor is Failover is not critical: a minimal engine needed for failover.
Configuring an Engine Configuring an Engine An iIS process system can have any number of engines. For example, one engine might be used for testing and another used for production. In other cases, organizational considerations or heavy load conditions might require a number of production engines.
Configuring an Engine Engine Configuration with both Failover and Load Balancing Figure 4-1 iIS Process Client Applications Engine Governor Primary Backup Engine Engine Unit Unit Router Database Database Services Database Services Engine Services Database During installation, you decided which nodes in your iPlanet UDS environment (engine servers) would have engine components installed on them.
Page 87
Configuring an Engine Governor The governor does not do much processing and does not require a high performance server. It is recommended that you not assign it to the same server as either the primary or backup engine unit, because it would then not be able to distinguish between failure of the primary engine unit and a break in the network link between the engine units.
Configuring an Engine Typical Engine Partitioning Scheme Figure 4-2 Server 1 Clients Governor Priority=9 Database Service Server 2 Primary Engine Unit Router Server 3 Backup Engine Unit Priority=8 Database Service Server 4 Engine Database Priority=10 Database Services Engine Startup Properties Before you start an engine, you must specify a number of startup properties.
Page 89
Configuring an Engine Engine name An alpha-numeric name used to identify the engine in a given environment. Environment An alpha-numeric name that specifies the iPlanet UDS environment in which the engine resides. Database Configuration Properties Properties needed to access the engine database.
Configuring an Engine Engine Configuration File The engine component partitioning and engine startup properties are stored in an engine configuration file in the following location on the central server node in your environment: FORTE_ROOT/sysdata/conductr/clN/environment/engine_name.cfg Path Element Description environment Name of the iPlanet UDS environment in which engine resides.
Page 91
Configuring an Engine The engine properties specified in the configuration file are described in the following table: Table 4-1 Process Engine Configuration Properties Property Type of Description value FILE_VERSION string Internal use. Do not modify. GOVERNOR string Specifies the node on which governor component runs.
Page 92
Configuring an Engine Process Engine Configuration Properties (Continued) Table 4-1 Property Type of Description value GOVERNOR_MEMORY_FLAG string Specifies memory options. Uses the same syntax as the -fm flag used on iPlanet UDS partitions. Default values are n:2048,x:16384,…. DBSERVICE_MEMORY_FLAG string Specifies memory options. Uses the same syntax as the -fm flag used on iPlanet UDS partitions.
Configuring an Engine Process Engine Configuration Properties (Continued) Table 4-1 Property Type of Description value MONITOR_DISPLAY_LIMIT integer Specifies the maximum number of Cconsole monitor displays that can be simultaneously open by all Cconsole sessions monitoring the engine. This limit affects the Sessions, Processes Resident and Activities Resident monitor windows.
Page 94
Configuring an Engine When you configure a new engine, the default engine schema is specified by the following file on the central server node in your environment: FORTE_ROOT/sysdata/conductr/clN/environment/engine_name.dbs Path Element Description environment Name of the iPlanet UDS environment in which engine resides.
Configuring an Engine The following example shows how to modify the create index statement for the WFHActivity table to include a table space qualifier. Code Example 4-1 Generated Definition (Oracle) <FNCreateIndexStatement> create unique index wfk_act on WFHActivity ( processid, </FNCreateIndexStatement> Code Example 4-2 Modified Definition <FNCreateIndexStatement>...
Page 96
Configuring an Engine To configure a new engine Choose Engine > New. The Configure New Engine window displays: Enter a name for the new engine in the Engine name field. The name can be case-sensitive and of any length, but have no spaces. Click the Database tab to display the database properties dialog: iPlanet Integration Server •...
Page 97
Configuring an Engine Enter the database configuration properties. For information on the Database Connection fields, refer to the iIS online help. The Text Attribute Segment Size fields allows you to specify the segment length for process attributes and user profile information for a session. Property Description Process attribute segment...
Page 98
Configuring an Engine Specify the engine database tables (Current state and/or History log) for which you want to log information. If you write to history log tables, specify the information to log. Current state This setting determines whether the engine writes information about the current state of all sessions, processes, and process components to the current state tables (see Appendix B, “Engine Database...
Page 99
Configuring an Engine Select the Components tab. The Component Partitioning dialog is displayed. Specify the engine component partitioning. When assigning a component to a node, be sure that the node is an engine server node (that is, that engine components were installed on the node during iIS installation).
Page 100
Configuring an Engine a higher numeric value signifying a higher priority. It is suggested that you decide on a sensible set of priorities. A default priority of “1” is used if you do not specify a priority. The engine distributes the database access load based on this priority.
Page 101
Configuring an Engine Specify memory options for the governor, database service, and engine unit memory flags if you want to override the default values. The settings you are most likely to change are the minimum and maximum memory allocation for engine units. The minimum allocation specifies the default size of the object memory heap and the maximum allocation sets the upper limit to which the iPlanet UDS memory manager can expand the object memory heap.
Page 102
Configuring an Engine Specify how many monitor windows can be open at any time. The Monitor Display Limit option (default value of 10), indicates how many iIS Console monitor windows can be open at any time. This limit applies to Sessions, Processes Resident and Activities Resident monitor windows and affects all iIS Consoles monitoring the engine.
Page 103
Configuring an Engine The process execution options are the following: Process Execution Description Option Maximum number of The maximum number of concurrent sessions supported sessions by the engine. Attempts to open additional sessions will raise an exception. The default value is 300. Maximum number of The maximum number of concurrent process instance processes...
Configuring an Engine Duplicating an Engine Configuration If you have multiple engines that need to be configured similarly, or want to add an engine with a configuration similar to an existing engine, you can duplicate an engine configuration. After creating a duplicate engine you can reconfigure the new engine to make any necessary adjustments.
Starting an Engine Starting an Engine To start an engine, you start each of its components—engine units, governor, and database services. These components are applications, each consisting of a single server partition that must establish communication channels with other components. As each of these partitions starts, it registers itself with the iPlanet UDS Name Service and then looks in the Name Service registry for the names of other components with which it must establish a communication channel.
Starting an Engine The governor has four internal states, depending on its connections with the engine units: Governor state Description IDLE Not connected to any engine units Connected only to the first engine unit to start up (EngineUnit1) BOTH Connected to both engine units Connected only to the second engine unit to start up (EngineUnit2) As the governor changes state (that is, as engine units start up and shut down), it...
Page 107
Starting an Engine If an engine unit starts before the governor, but after its partner has started, then it must negotiate with its partner to establish which unit is to become primary. If one unit has been marked as the preferred primary, then that unit becomes primary. If neither unit has been marked as the preferred primary, then the negotiation randomly determines which of the two becomes primary.
Starting an Engine Primary Engine Unit Startup Phases The primary engine unit must perform a number of startup operations to come fully online. These operations depend on whether the primary engine unit is recovering from failure, is restarting an engine on an existing database, or is starting up for the first time (cold start).
Starting an Engine Startup Phase Description Phase # INFORM_PARTNER Communicates to partner that state has changed to online. STARTUP_COMPLETE Completion of startup operations. Engine unit now online. Database Service When a database service starts, it attempts to connect to the primary engine unit. If the primary engine unit is not online, the database service continues waiting for it indefinitely.
Starting an Engine How to Start an Engine You can start engine components from a centralized location using the iIS Console (see Chapter 3, “The iIS Console”). The iIS Console uses iPlanet UDS system management agents to start the partitions corresponding to each of the engine components, as specified in the engine configuration file.
Page 111
Starting an Engine Select a startup option. A number of options are available for creating new engine database tables when starting an engine (see “Managing an Engine Database” on page 124): Startup Option Description warm No new database tables are created during the primary engine unit startup process.
Page 112
Starting an Engine Disable the engine components you do not want to start. By default, all components specified in your configuration file are enabled. Click Start. The governor, engine units, and database services are started, in that order. The engine might take some time to start. To check the status of the NOTE engine, use the Engine >...
Reconfiguring an Engine Reconfiguring an Engine An engine’s component partitioning and startup properties are stored in its engine configuration file, which is read at engine startup time. To reconfigure an engine you modify the configuration file and restart the engine. Some limited reconfiguration, such as modifying the logging of historical state information, can be performed dynamically: you do not have to restart the engine (see “How to...
Page 114
Reconfiguring an Engine Choose Engine > Reconfigure. The Reconfigure Engine window displays: Select the appropriate tab to modify the property or properties you want to change. When you have finished reconfiguring your engine, click Save. The modified information is written to the engine configuration file. Restart your engine for reconfiguration changes to take effect.
Reconfiguring an Engine How to Dynamically Modify Database Logging To change the logging configuration of your engine, normally to reduce or increase the amount of historical state information being logged to your engine database, you do not have to restart the engine. To modify database logging for an engine Select an engine in the iIS Console main window.
Reconfiguring an Engine How to Tune Process Execution The performance of an engine depends on available system resources, such as memory. For example, if engine memory resources become overtaxed, engine performance can degrade, and an engine can even fail. It is hard to know in advance the memory resources required under production loads.
Monitoring and Changing Engine States used process instances (and all their associated activities, timers, and process attributes), until it brings the number of memory-resident process instances back within the limit. The engine performs these checks periodically, as specified by the value of the Swap-out Interval.
Monitoring and Changing Engine States Monitoring Engines and Engine Components You can get status information about the engine as a whole as well as about each of the individual engine component in the iIS Console (see Chapter 3, “The iIS Console”).
Monitoring and Changing Engine States The window provides information about the runtime state of the engine and engine component partitions. Partitions that are running (even if not fully functional) are shown with a warm-up state icon. For more detail on the functional state of a component, you can select that component (governor, unit, or DBservice) in the list view on the left, and the appropriate status display will appear on the right.
Page 120
Monitoring and Changing Engine States The right side of the window provides information about the status of the engine component. For example, status information contained on a primary engine unit is shown below. Engine unit In the case of an engine unit the following information is provided: Property Description governor channel...
Page 121
Monitoring and Changing Engine States Property Description peak allocated the amount of allocated memory remaining after the most recent memory memory reclamation (probably the best measure of active memory utilization) Governor In the case of a governor the following information is provided: Property Description governor state...
Monitoring and Changing Engine States Property Description allocated memory the amount of active memory currently allocated to objects created by the engine unit partition peak allocated the amount of allocated memory remaining after the most recent memory memory reclamation (probably the best measure of active memory utilization) Changing Engine States You can change the state of an engine, which usually involves changing the state of...
Monitoring and Changing Engine States Click the Set Primary button in the Engine Status window. The primary unit now becomes the backup unit, and the backup becomes the online unit. About Recovering State Information In a production system, placing a backup unit online requires recovering state information from the engine database.
Managing an Engine Database For more details on recovery levels, see the iIS Process Development Guide and the iIS Process Client Programming Guide. Shutting Down Engine Components You can shut down an individual component by clicking the Shutdown button in the component status display of the Engine Status window, or you can shut down all running engine components by clicking the Shutdown command in the engine status display.
Managing an Engine Database Growth of the Database As with any of the enterprise databases used by your workflow application, the engine database can grow in size. The current state tables grow and shrink in proportion to the number of sessions, process instances, activities, process attributes, and timers that exist at any one time.
Managing an Engine Database Dumping and Restoring Data The iIS Dump/Restore facility makes it possible to dump the data in an engine database to an ASCII file, and then, subsequently, to restore the data to the existing database or to a new engine database. It is used primarily to accommodate changes in database schema from one release of iIS to the next sequential release.
Page 127
Managing an Engine Database Using the Dump/Restore Application The following procedure shows how to use the Dump/Restore application. To use the Dump/Restore application to dump database tables Start the Dump/Restore application. on Windows or Windows NT: double-click the Dump/Restore icon. on UNIX, OpenVMS, or Windows NT: enter the following: ftexec -fnict -fcons -fi bt:\$FORTE_ROOT\userapp\wfdrdump\c20\wfdrdu0...
Page 128
Managing an Engine Database Configure a data file in which to dump the data. Click the Configure Files tab. In the Directory name field, specify the directory into which the data file will be written. The directory must already exist; the Dump/Restore application will not create a new directory.
Page 129
Managing an Engine Database Specify the engine database from which to dump the data. Click the Configure Database tab. In the Engine name field, enter the name of the engine whose data you want to dump. When you exit the field, the Database type, Database name, User name, and User password fields will automatically be filled in from the engine configuration file.
Page 130
Managing an Engine Database Dump the data. Click the Dump Tables tab. Select the category of tables you want to dump. By default, all categories are selected. Disable any category you do not want to dump. Click the Dump Tables button. Click OK in the Information dialog that is displayed.
Managing an Engine Database As in all iPlanet UDS command line specifications, if you use a name that includes a space, you should enclose the name in double quotation marks. The following table describes the command line flags for the command: DrDump Flag...
Page 132
Managing an Engine Database Preserving Engine Database Schema Customizations If you are upgrading to a new release of iIS, the database schema for the process engine may have changed. If, in the previous release, you modified a process engine database schema to conform to your own specific requirements, as explained in “Customizing Engine Database Schema”...
Page 133
Managing an Engine Database Using the Dump/Restore Application The following procedure shows how to restore database tables that were previously written to an ASCII file, as explained in “Dumping Database Tables” on page 126. To use the Dump/Restore application to restore database tables Start the Dump/Restore application.
Page 134
Managing an Engine Database Restore the data. Click the Restore Tables tab. Select the categories of tables you want to restore. By default, all categories are selected. Disable any category you do not want to restore. Click the Restore Tables button. Click OK in the Information dialog that is displayed.
Page 135
Managing an Engine Database Using the Restore Command-line Utility The Dump/Restore facility’s command retrieves data which has been DrRestore dumped to an ASCII file and restores it into an engine database. Syntax for command: drrest drrest -e engine_name [-d directory_name] [-v data_file_name] [-t registration|state|history] As in all iPlanet UDS command line specifications, if you use a name that includes a space, you should enclose the name in double quotation marks.
Managing an Engine Database Dump/Restore Environment Variables iIS provides a set of environment variables for use with the Dump/Restore facility. You can set these variables to provide values for both the Dump/Restore application and the command-line utility. Variable Description WFDR_ENGINE The name of the iIS engine.
Chapter 5 Managing Registrations Registration is the procedure by which programmatic information about processes, users, and so on, created in the process development workshops, is made available to a running iIS process engine, so it can be dynamically loaded and used in process execution.
Page 138
About Registration Registration is the procedure by which process logic created in the iIS process development workshops is made available to a running engine (see “What Does Registration Do?” below). The entities that get registered with an iIS engine (described in detail in the iIS Process Development Guide) include the following.
About Registration What Does Registration Do? The entity actually registered when you register a process definition, assignment rule, user profile, or user validation is a library. (Aliases are not libraries and this section does not apply to them—see “About Aliases” on page 143.) A library (often referred to as a shared library) is code that can be loaded into memory at runtime, and then referenced by any number of executing programs.
Page 140
About Registration Registration Steps Figure 5-1 Central Server Environment Manager Repository Central Server Repository Install distribution on engine nodes Process Development Workshops Engine Server Place entry in Primary registration table Engine Unit Engine Database Engine Server Backup Engine Unit • Installing library distribution files on the nodes hosting the target engine (more specifically, hosting the target engine units).
About Registration If at some point you have to move an engine unit to a new node, you do not have to manually re-register (reinstall) all the libraries on the new node. When an engine unit first comes on line, if the registered libraries are not currently installed on the host node, iPlanet UDS automatically installs them.
About Registration Follow the instructions for registering iIS distributions in “Registering iIS Distributions” on page 144. What Does Unregistration Do? Unregistering process definitions, assignment rules, user profiles, or a validation does not reverse the entire registration process, just the last step of the process: it removes the registration entry from an engine’s registration database table.
About Registration About Aliases An alias is a reference to a process definition registered with an engine. It is used by developers when defining a Subprocess activity in a process definition so they do not have to hard code the process name and host engine represented by the Subprocess activity.
Registering iIS Distributions If process1 and process2 hard-code the reference to process3 on engine3, then process3 could not be moved to another engine without modifying both process1 and process2 in the Process Definition Workshop, creating the respective library distributions, and re-registering the process definitions with both engine1 and engine2.
Registering iIS Distributions Process Definition A process definition must be registered with every engine that can execute that process definition. Upgraded process definitions can be registered without unregistering the old versions: the old process definitions are used for existing process instances and the upgraded versions are used for all process instances started after the new definition is registered.
Page 146
Registering iIS Distributions To register one or more distributions using the iIS Console Choose Environment > Registrations> New. The Register Distributions window displays: Distributions drop list Distribution selection list Engine selection list To filter the list of distributions available for registration, select Process Definitions, Assignment Rule Dictionaries, User Profiles, or Validation from the Distributions drop list.
Registering iIS Distributions Upgrading Registrations Sometimes you must register a new version (upgrade a registration) of one of these library distributions. How you upgrade a registration depends on the upgrade registration characteristics of the distribution type, as summarized in the following table: Distribution Type Registration Characteristics...
Registering Aliases To unregister a process definition, assignment rule dictionary, or user profile Choose Environment > Registration > Unregister. The Unregister Distribution window displays: Type drop list Engine selection list In the Distribution field, enter the name of the process definition, assignment rule dictionary, or user profile to unregister.
Page 149
Registering Aliases Unlike process definitions, assignment rule dictionaries, user profiles, and the validation, aliases do not involve library distributions. In registering an alias, you are simply making an entry in an engine’s registration table. You can register only one alias at a time, but you can register it with more than one engine. The registration process is the same for both new and modified versions of an alias.
Viewing Registrations for an Engine Unregistering Aliases At times you might want to unregister an alias from one or more engines, normally because those engines are no longer using it. You can unregister only one alias at a time. To unregister an alias Choose Environment >...
Viewing Registrations for an Engine To view the registrations for a given engine Select a running engine in the iIS Console main window. Choose Monitor > Registrations, or choose Registrations from the popup menu. The Registrations window displays: Click a tab to view a particular type of registered distribution. Check that the window’s refresh options are appropriately set.
Viewing Registrations for an Engine Click a tab to open it to view a particular type of registered distribution. The menu bar changes depending on the type of registration you are viewing. For example, if you are viewing assignment rule distributions, you see the File, View, and Assignment Rule menus.
Performing Application Upgrades Right-click and choose Process Definition > Open from the popup menu. The Processes Resident window displays: By selecting a process instance in the window and opening it (double-click or use the mouse popup menu), you can get the process instance’s activity list, timer list, process attribute list, and so on.
Performing Application Upgrades However, sometimes an upgrade involves a new or modified extended user profile. If this is the case, then the user profile, the validation and the assignment rule dictionaries that depend upon it, and client applications that reference it might all need to be upgraded.
Performing Application Upgrades Rolling Upgrades Rolling upgrades must be used in production situations where work cannot be interrupted and client applications cannot be upgraded monolithically. In a rolling upgrade, the changeover from an earlier version to an upgraded version takes placed gradually.
Chapter 6 Managing Process Execution The main function of an iIS process engine is to coordinate the work done by a variety of users (or application components) in performing the activities that comprise a business process. The engine does this by executing iIS process definitions that have been registered with the engine.
Introduction Engine Sessions An iIS process engine generally coordinates the work of a number of applications that perform various activities that comprise a business process. To manage this process flow, the engine needs to maintain sessions with each of the applications involved.
Introduction Session state Description RECONNECTION_IN_PROGRESS During engine recovery, a previously active session that is waiting to be restored to active during the engine recovery. An ACTIVE or SUSPENDED session can be terminated by an application or user, or by a system manager. A RECONNECTION_IN_PROGRESS session can be suspended or terminated by a system manager.
Page 160
Introduction If the client session reconnects to the engine during the timeout period, the sessions are restored depending on the value of the session’s reconnect action property (set using the control parameter to WFEngine.OpenSession or WFSession.SetControl). If the client session fails to reconnect, the sessions are suspended or terminated, according to the specification in the engine configuration.
Introduction If a connection is permanently lost, the client API code notifies the client application that its connection has been permanently lost. The client application must explicitly reopen its session to restore it to ACTIVE state. Its ability to restore a suspended session to an ACTIVE state depends—just as with the auto-reconnect mechanism—on the value of the session’s reconnectAction property set when the session was first opened.
Introduction Activity States During process execution the engine manages a succession of activities through a number of states, from creation to deletion. While there are a number of activity types, each with its own properties and behavior (see “Activity Types” on page 165), as a general rule, the engine takes each activity through a succession of states shown in the following table and illustrated in...
Page 163
Introduction Activity state Description ACTIVE When a client application accepts an offered activity or takes it off a queue, it is placed in ACTIVE state. The engine performs any work specified by an OnActive method in the process definition and then provides the client application with process attribute data needed to perform the activity.
Introduction Activity State Transitions—from Creation to Termination Figure 6-1 Activity State Process Execution Step Activity referenced by router of another activity Engine activates timer controls, if any. Engine executes Trigger method. PENDING If Trigger method returns TRUE, Engine executes Ready method, if any.
Process Execution Activity Types A process definition can include a number of different activity types, each of which passes through the various activity states in a different fashion. The table below summarizes the different types of activities. For more information on activities, see the iIS Process Development Guide.
Process Execution Process instance execution Process execution involves creation of any number of activities, including one or more Offered activities (which are offered to and performed by client applications), Queued activities (which are placed on a queue and performed by client applications—but not, in this case, by applications integrated through proxies), Subprocess activities (which create an instance of another process), and Automatic activities (which are performed by the engine rather than client applications).
Process Execution Process Instance Execution Process execution consists of the sequential creation, execution, and termination of the activities specified in a process definition. When an activity is created, it remains in a PENDING state until its trigger conditions are fulfilled. In general, the activity then passes through READY and ACTIVE states, as shown in Figure 6-1 on page...
Process Execution Activity Execution As a general rule, activity execution consists of taking each activity through the series of states described in “Activity States” on page 162. In each state, the engine performs a number of operations before the activity transitions to the next state. As each state transition takes place, the new state is written into memory and logged in the state database tables.
Page 169
Process Execution Session assignment takes place in any of the following situations: • An offered activity is placed in a READY state for the first time. • An offered activity is rolled back from an ACTIVE state to a READY state—can occur if a client application rolls the activity back to READY state (discards any work performed on the activity), if a system manager rolls the activity back to READY state in order to force it to be reassigned, or if the activity is being...
Page 170
Process Execution READY State Handling When a Queued activity is placed in a READY state, the activity is placed in a queue named after the queued activity and containing activities with the same name from multiple process instances. Client applications access the queue, and accept the highest priority activity on the queue.
Process Execution ACTIVE State Handling The engine performs any work specified in the OnActive method (if one exists in the process definition). An active subprocess activity is handled differently depending on whether the subprocess activity is synchronous or asynchronous. • Synchronous—waits for completion of the new process: If the subprocess activity is synchronous and if the new process is successfully created, the subprocess activity remains in an ACTIVE state (in the parent...
Page 172
Process Execution Completed Activities When an engine places an activity in a COMPLETED state, the engine performs the following actions: • executes the activity’s OnComplete method, if one is specified in the process definition • executes the activity’s OnComplete router methods •...
Monitoring and Managing Engine Sessions Process Instance Termination Process termination occurs when the engine places a process instance in either a COMPLETED state or an ABORTED state. Completed Process Instances An engine completes a process instance when the Last activity reaches a COMPLETED state.
Monitoring and Managing Engine Sessions Monitoring the State of a Session Often you want to know information about a particular session, such as its state, its creation time, the list of activities assigned to the session, or information about any such assigned activities that are in ACTIVE state.
Page 175
Monitoring and Managing Engine Sessions To get more information about a session, select it, and choose Session > Open from the popup menu. An activity list for the session is displayed. For each activity in the list, the dialog displays the activity ID, the process name and process instance ID in which it was created, and its current state.
Monitoring and Managing Engine Sessions Managing Sessions Session management consists of suspending or terminating sessions, or sending a message to one or more sessions (that is, the corresponding client applications). Suspending or Terminating Sessions On occasion you might find it necessary to suspend or terminate one or more active sessions.
Monitoring and Managing Engine Sessions To terminate a session Choose Monitor > Sessions to display the Sessions window with the list of current sessions for the engine. Select the session to terminate. Right-click and choose Session’Name’ > Terminate from the popup menu. You will be asked to confirm the termination.
Page 178
Monitoring and Managing Engine Sessions Open the session of interest. Click Send Message. The Send Message window displays: Type the message in the Message field. Select the urgency: Informational or Critical. Click Send. iPlanet Integration Server • Process System Guide • August 2001...
Monitoring and Managing Process Execution To broadcast a message to all sessions Choose Monitor > Sessions to open the list of current sessions. Right-click and choose Session > Broadcast from the popup menu. The Broadcast Message window displays. Type the message in the Message field. Select the urgency: Informational or Critical.
Monitoring and Managing Process Execution Process Execution Objects: Properties and Relationships Figure 6-2 Session Activity Instance Activity list TimerLink list Session id Activity state Session name Activity name User Type Status Asignment list Transaction id Process id Attribute list Process Instance Process Attribute Creation time Timer Instance...
Monitoring and Managing Process Execution activity queue Checking the status of an activity queue and possibly reprioritizing an activity within the queue (for queued activities only). timer Checking the status of a timer instance and resetting it or changing its state. process attribute Checking the value and lock state of a process attribute and possibly changing its value and removing a lock.
Page 182
Monitoring and Managing Process Execution Select the process name you want to view instances of and choose Processes > Open Instances of. This opens the Processes Resident window, displaying the list of process instances being executed by the engine for the selected process name. For each process instance the window displays the process name, the version of process definition, the value of the primary process attribute, the primary process attribute name, the process instance ID, and the process instance...
Page 183
Monitoring and Managing Process Execution Select a process instance and choose Process > Open Instance. The Process Instance property inspector is displayed. By selecting the appropriate tab, you can get the process instance’s activity list, timer list, process attribute list, and other information. From these lists, in turn, you can get information about the state of any activity (see “Checking the Status of an Activity”...
Monitoring and Managing Process Execution Aborting a Process Instance If you want to stop execution of a process instance, you can abort that process instance. This aborts all uncompleted activities, stops all timers, and discards all process attribute updates. To abort a process instance Open the property sheet of the process instance you want to abort.
Monitoring and Managing Process Execution Managing Activity Instances This section describes how to check the status of an activity and change its state. Checking the Status of an Activity Select the activity in any window that contains an activity list: Process Instance property inspector Session property inspector Activities Resident window...
Monitoring and Managing Process Execution Choose Activities > Open. The Activity property inspector displays: The property inspector consists of a number of tabs: the Info tab displays the basic properties of the activity, and additional tabs provide information such as the sessions to which the activity is assigned, the current value of process attributes, and information about timers linked to the activity.
Page 187
Monitoring and Managing Process Execution • from ACTIVE to READY You might do this because the person working on an activity cannot complete it and you want it to be reoffered to other users. All process attributes are unlocked and rolled back to the values they had when the activity was first offered.
Monitoring and Managing Process Execution From the New state drop list, select the new state of the activity. Click the Set button. Managing Activity Queues This section describes how to check the status of an activity queue and how to reprioritize an activity within the queue.
Monitoring and Managing Process Execution Select a queue. Choose Queue > Open. The Activity Queues window displays, showing the list of activities in the queue. For each activity in the queue, the window displays the activity name, activity ID, activity state, prioritizing value (value of the queue prioritizing process attribute), and process ID.
Page 190
Monitoring and Managing Process Execution Choose Activity > Set Priority. The Set Queued Activity Priority window displays: In the New prioritizing value, change the value of the queue prioritizing process attribute. Click OK. The activity will be placed in a new position in the activity queue, based on the new value of the queue prioritizing attribute.
Monitoring and Managing Process Execution Managing Timer Instances This section describes how to check the status of a timer, reset it, or change its state. Checking the Status of a Timer Open the Timers tab of a Process Instance property inspector, shown below. For each timer, the list displays the timer name, timer state, and expiration time.
Monitoring and Managing Process Execution Choose Timers > Open. The Timer property inspector displays, with the basic properties of the selected timer: Changing the Timer State and Expiration Time To change the state and expiration time of a timer Open the timer’s property inspector. Step 1 through Step 3...
Monitoring and Managing Process Execution To change the state of the timer, click one of the radio buttons in the On/Off Control. To change the expiration time, click one of the radio buttons in the Options box. For an elapsed timer (screen shown above), Reset sets the original elapsed time interval and Set Interval lets you enter a new elapsed time interval in IntervalData format (years:months:days:hours:minutes:seconds:milliseconds).
Monitoring and Managing Process Execution An example attribute list (the Process Attributes tab of a Process Instance property inspector) is shown below. For each process attribute the list displays the attribute name, data type, attribute value, and lock state. Changing a Process Attribute Value You might change the value of a process attribute because you want to roll back an activity from ACTIVE to READY state and reoffer the activity using a different attribute-dependent assignment rule.
Monitoring and Managing Process Execution To change the value of a process attribute Select the attribute in any process attribute list window, as described in “Checking the Value and Lock State of a Process Attribute” on page 193. Choose Process Attributes > Set. The change value window displays: Enter a new value.
Monitoring and Managing Process Execution Checking for Bottlenecks in Process Execution Instances of a given process sometimes stall at a particular activity, causing a bottleneck in execution of that activity. This could happen, for example, if a particular activity were backlogged, or a trigger condition could not be fulfilled. To find a process bottleneck Select the engine executing the process in the iIS Console main window.
Analyzing Process Execution To analyze the situation further you might have to open particular activity instances, check sessions, or possibly check attributes of the corresponding process instances. Analyzing Process Execution The iIS product does not provide tools for analyzing information in the engine database’s history log tables that could be useful in managing and reporting on process execution.
Analyzing Process Execution • Worker productivity You can perform productivity analyses. For example, you can tabulate how many activities have been completed in a given time as a function of the session (user). You can also look at how many activities are currently owned (made active) by each user.
Monitoring and Managing Two-Phase Commit Object State Value Activity PENDING READY PREPARE_ACTIVE ACTIVE PREPARE_COMPLETE COMPLETED PREPARE_ABORT ABORTED DELETED Timer CREATED EXPIRED DELETED Session ACTIVE SUSPENDED TERMINATED Monitoring and Managing Two-Phase Commit iIS provides a two-phase commit protocol that allows process client applications to easily synchronize iIS process state changes with application database updates.
Monitoring and Managing Two-Phase Commit Client Applications Change Both iIS Process State and Application Data Figure 6-3 Client Applications iIS Process Engine Operations Application Transactions Application iIS Process Services Engine Enterprise Databases For example, a process client application typically interacts with the engine to start an activity, performs the activity by updating application data, and then interacts with the engine again to complete the activity.
Page 201
Monitoring and Managing Two-Phase Commit Because of this two-phase commit capability, an iIS engine transaction and an application transaction can be combined into a higher level distributed transaction. The constituent transactions are placed in a PREPARE phase before either can commit.
Monitoring and Managing Two-Phase Commit The iIS two-phase commit protocol is implemented by placing an engine session in two-phase commit mode. iIS engine transactions for this session are automatically placed in a PREPARE phase. A session with two-phase commit enabled can only support one iIS transaction at a time.
Chapter 7 Troubleshooting This chapter discusses a number of topics and approaches related to diagnosing problems in your iIS process management system. This chapter covers the following kinds of troubleshooting information: • alarms • exceptions • messages • performance indicators Introduction iIS provides a number of tools to help you diagnose engine problems or problems in process execution with your iIS enterprise applications:...
Page 204
Introduction The information displayed in these iIS tools falls into the following categories: Alarms A number of error conditions in the functioning of an iIS process engine that might require your intervention are reported as alarms. These conditions range from a communication problem between engine components to exceptions generated in the primary engine unit in the course of process execution.
Process Engine Alarms Window Process Engine Alarms Window A number of engine conditions result in an alarm. An alarm is a message notifying you of a condition in the functioning of an iIS process engine that might require intervention. The following list shows these alarms and a description of the condition that gives rise to each: Alarm Description...
Process Engine Alarms Window Monitoring Alarms Alarms for any number of engines can be displayed in the Process Engine Alarms window, allowing you to monitor all your iIS process engines from one central location. (Alarms can also be written to the engine database of any engine for which history logging is turned on.) To view alarms for a specific engine, you must first register the engine with the alarm service.
Page 207
Process Engine Alarms Window The Process Engine Alarms window displays. In the following illustration, a registered engine, ceengine, was shut down, causing the EngineUnitShutdown alarm to be displayed. To unregister an engine from the Alarm service Select an engine in the engine list in the right hand panel of the Process Engine Alarms window.
Process Engine Alarms Window You can add additional expressions to build complex filters. For example, the following expressions displays alarms of type EngineUnitShutdownAlarm for the engine named ceengine: Type="EngineUnitShutdownAlarm" Engine="ceengine" For more information on creating filter expressions, refer to “Filtering iIS Console Lists”...
Page 209
Process Engine Alarms Window To get detailed information about an alarm Select the alarm in the Process Engine Alarms window. Right-click and choose Alarm > Open from the popup menu. The Alarm Details window displays: To remove an alarm from the Alarm window Select the alarm in the Alarms window.
Engine Log Files Engine Log Files Each iIS process engine component, like other iPlanet UDS partitions, writes to a log file that records exceptions and message output. The component log files are therefore an important source of troubleshooting information. The log file for each component is written in the FORTE_ROOT/log directory of the node on which the component is executing.
Page 211
Engine Log Files Instrument Data You can decide to have instrument data—such as application resource usage or performance statistics—collected by the underlying system for an engine component and written to the partition log file at time intervals you can specify. The logging of instrument data is determined by values you set for special logging instruments using iPlanet UDS system management tools, such as the iPlanet UDS Environment Console.
iIS Console Trace Window Click the View Partition Log button. NOTE If an engine component has not come online, its log file cannot be viewed from iIS Console. In that case you need to access the log file directly on the component’s host node. iIS Console Trace Window iIS Console provides a trace window that displays information written to iIS engine component log files.
iIS Console Trace Window This section discusses how to use the iIS Console Trace window to select and display messages generated by iIS engine components. Specifying Message Filters The syntax for specifying log message filters is shown in Figure 7-1. Generally you specify a standard output log file, “%stdout,”...
iIS Console Trace Window iIS Message Filters iIS message filters follow the general guidelines above and have the following particularities: Message type trc (debug) Service type cr (iIS runtime) Group number iIS uses the following group designations: Group Description Engine Session Process Activity...
iIS Console Trace Window For example, an iIS message filter for a primary engine unit might be as follows: FORTE_LOGGER_SETUP: "%stdout(trc:cr:2:2)" This filter specifies that all messages about sessions created in the engine —but not a lot of detail—be written to the primary engine unit’s log file (on the server node on which the primary engine unit is running) and to the iIS Console trace window (if you have opened it at least once before).
Page 216
iIS Console Trace Window To set message filters for a selected engine Select a running engine in the iIS Console main window. Choose Engine > Trace. The iIS Console Trace window displays. Choose File > Modify Log Flags. This opens the Select Component window. Select an engine component and click OK to open the Modify Log Flags window.
iIS Console Engine Event Filter Window All messages generated by the component that meet the specification are now written to the trace window, as well as to the components log file. Special Example: Write Client Messages to Trace Window As an example of using message filters, suppose you want to have all messages generated by client applications written to the iIS Console trace window.
iIS Console Engine Event Filter Window Displaying All Engine Events You can view all engine events for a running engine. To view all engine events for the selected engine From the Engine Event Filter window, select the option Show all engine events. Each engine event is identified by event type, class, ID, description, and time of occurrence.
Page 220
iIS Console Engine Event Filter Window Events for the specified process instance display: To view all engine events for the next process instance of a specific process definition From the Engine Event Filter window, select the option Next process instance of: and select a process definition from the drop down list.
Performance Charts Filtering Engine Events A fourth way to view engine events is by providing a custom filter. You can filter on events involving sessions, process instances, activities, engine objects, timers and registrations. For details on valid filter expressions, see “CreateFilter”...
Performance Charts It is therefore a good idea to regularly monitor a number of performance indicators—instrumentation within an engine that can be displayed over time in the iIS Console Performance Charts. The instruments displayed in the Performance Charts are the following: Instrument Description Process Instances...
Page 223
Performance Charts To view performance indicators for an engine Select a running engine in the iIS Console main window. Choose Monitor > Performance. The Performance Charts window is displayed. You can choose View > Observed Values to expand the Charts window to display maximum, last observed, and minimum values for the charts.
Page 224
Performance Charts To set the vertical scale parameters for the chart and see the maximum and minimum values recorded by this chart, click somewhere in the chart, then right-click and choose Chart > Properties from the popup menu. The Timeline Properties window displays. You can choose to display observed values or the differences between succeeding values.
Performance Charts Logging Performance Information You can save performance information to a log file. To log performance information At the Performance Charts window, choose File > Set Logging File. Define a name and location for the performance log data file. Click OK.
Page 226
Performance Charts iPlanet Integration Server • Process System Guide • August 2001...
Chapter 8 Using the Conductor Script Utility This chapter describes the Conductor Script utility, the iIS command line system management interface. The Conductor Script utility is the command line equivalent of the iIS Console. However, Conductor Script also lets you incorporate system management tasks into scripts.
Starting Conductor Script Unlike the iIS Console, however, you can use Conductor Script to perform system management by building and executing predefined scripts of Conductor Script commands. For information on building and executing Conductor Script scripts, “Writing and Executing Scripts” on page 232.
Starting Conductor Script To start Conductor Script on UNIX, OpenVMS, or Windows NT Use the command (see “Using the Cscript Command” below for cscript information). Enter a valid password if one is requested (see “SetPassword” on page 300). When Conductor Script starts, it opens a cscript command prompt. Using the Cscript Command As mentioned above, you can start iIS Console on command line-based operating systems by executing the...
Working with Conductor Script Flag Description Specifies the memory flags to use for the -fm memory_options Conductor Script session. See the iPlanet UDS /MEMORY= System Management Guide for syntax information. memory_options Overrides defaults appropriate for the operating system. On UNIX, you must specify the memory flags in double quotes.
Working with Conductor Script For full reference documentation of the commands discussed below, consult the Fscript Reference Guide. General Conductor Script Operations The following table lists Conductor Script commands used for general operations such as getting online help, defining the format of file names, specifying a directory search path, and so on: Command Arguments...
Working with Conductor Script Command Arguments Function Set Conductor Script to recognize file UseLocal —— names specified in local operating system format. Set Conductor Script to recognize file UsePortable —— names specified in iPlanet UDS portable name format. Writing and Executing Scripts This section describes Conductor Script commands you use to write and execute scripts to automate iIS process management tasks.
Working with Conductor Script The following table lists Conductor Script commands most often used for writing and executing scripts: Command Arguments Function Stop writing script file commands and output to CommentOff —— standard output. Write script file commands and output to CommentOn ——...
Page 234
Working with Conductor Script Command Arguments Function Copy a specified file in the local file system. CopyFile file1_name file2_name [r] Copy a specified file in the local file system. file1_name file2_name [r] List the files in a directory. Directory directory_name Copy a specified file in the local file system.
Managing iIS Process Engines with Conductor Script Managing iIS Process Engines with Conductor Script This section describes how to perform the following engine management functions using Conductor Script: • starting an engine • monitoring an engine • changing engine component states (including stopping an engine) Conductor Script cannot be used to configure an engine.
Managing iIS Process Engines with Conductor Script Starting Individual Engine Components You can start an individual engine component on any node on which it is installed. Each component is an application consisting of a single server partition that must establish communication channels with other components. Except for the governor, as each of these partitions is started, it must be provided a component name and the name of the engine to which it belongs.
Page 237
Managing iIS Process Engines with Conductor Script The Conductor Script commands used to start engines are documented in Appendix A, “Conductor Script Commands” and summarized in the following table: Command Arguments Function See… Display a list of all running page 289 ListEngines ——...
Managing iIS Process Engines with Conductor Script As indicated in the table, the engine unit partition has a startup argument which specifies that when the engine unit comes ONLINE, that it create the required tables in the engine database. This argument should be used when you start an engine for the first time, or if you explicitly want to delete the existing database schema.
Managing iIS Process Engines with Conductor Script The following Conductor Script commands start up the Enterprise engine in the preferred order. findengine galaxy.enterprise findnode server1 startgovernor startdbservice load1 9 findnode server2 startunit primero findnode server3 startunit secundo startdbservice load2 8 findnode server4 Monitoring Engines and Engine Components After you have started an engine, you should ensure that it has started successfully...
Managing iIS Process Engines with Conductor Script The Conductor Script commands used to monitor engines are documented in Appendix A, “Conductor Script Commands” and summarized in the following table: Command Arguments Function See… Set specified engine as the “current” page 284 FindEngine engine_name engine.
Page 241
Managing iIS Process Engines with Conductor Script The Conductor Script commands used to monitor individual engine components are documented in Appendix A, “Conductor Script Commands” and summarized in the following table: Command Arguments Function See… Set specified engine as the “current” page 284 FindEngine engine_name...
Managing iIS Process Engines with Conductor Script Changing Engine States You can change the state of an engine by changing the state of an engine unit or by shutting down an engine component. Changing Engine Unit States You might want to change the state of an engine unit for a number of reasons. For example, you might want to close all client sessions with a primary engine unit (change its state from ONLINE to STANDBY) in order to perform administrative functions on the database.
Managing Registrations with Conductor Script Command Arguments Function See… Set the specified engine unit for the page 301 SetPrimary unit_name current engine as the primary unit. This will change the states of the engine units to make the specified unit ONLINE. Shutting Down Engine Components You can shut down an individual component or all engine components using the command.
Page 244
Managing Registrations with Conductor Script To make an iIS library distribution Use the command to make a particular workspace current. SetWorkspace Use the command to open the current workspace. Open Use the command to display iIS plans in the workspace. ListPlans Use the command to make a particular plan current.
Page 245
Managing Registrations with Conductor Script Command Arguments Function Include a plan as a AddSupplierPlan plan_name supplier plan to the current plan. Commit changes to Commit —— current workspace. compile all out-of-date CompilePlan [force_flag] components in a plan. Export all components of a ExportPlan file_name [node | ids] plan to an export file.
Managing Registrations with Conductor Script Registering iIS Library Distributions After iIS library distributions have been generated, they can be registered with iIS process engines. You can register any number of iIS distributions with an engine using Conductor Script, but you can register only one type of distribution (user profile, process definition, and so on) with one engine at a time.
Managing Registrations with Conductor Script Command Arguments Function See… Register the page 294 RegisterAlias alias_name alias—representing a process_name specified process engine_name running on a specified environment engine in a specified environment—with the current engine. Register all page 294 Register [dictionary_name] assignment rule AssignmentRules dictionaries or the...
Page 248
Managing Registrations with Conductor Script To unregister an iIS distribution from an engine Use the command to make a particular engine current. FindEngine Use the command to display a list of iIS distributions that ListRegistrations are registered with the current engine. Use the appropriate command to unregister a distribution of the UnRegister...
Managing Process Execution with Conductor Script Command Arguments Function See… Unregister all page 322 UnRegister dictionary_name assignment rules (or AssignmentRules [rule_name] just the specified assignment rule) in the specified assignment rule dictionary from the current engine. Unregister the specified page 323 UnRegister process_name process definition from...
Managing Process Execution with Conductor Script Monitoring and Managing Engine Sessions This section describes how to perform a number of tasks regarding the monitoring and managing of sessions: • obtaining state information about a session • suspending or terminating sessions •...
Page 251
Managing Process Execution with Conductor Script The commands needed to monitor and manage iIS sessions are documented in Appendix A, “Conductor Script Commands” and summarized in the table below: Command Arguments Function See… Send a message with the page 275 BroadcastMessage message_text specified priority to all...
Managing Process Execution with Conductor Script Monitoring and Managing Process Execution There are a number of situations where you are likely to want to monitor or intervene in process execution to resolve problems. Depending on the situation, you might wish to take some of the actions described in the following paragraphs. Managing Process Instances To check the status of a process instance Use the...
Managing Process Execution with Conductor Script Use the command to display information about a particular ShowActivity activity. The output shows information about the activity, its attributes and its linked timers. You can get further information about these objects using their corresponding Show command.
Managing Process Execution with Conductor Script Managing Timers To check the status of a timer Use the command to make a particular engine current. FindEngine Use the command to display a list of timers in the current engine. ListTimers Use the command to filter the list of timers, if desired.
Managing Process Execution with Conductor Script To change the value of a process attribute Display a list of attributes as described in Step 1 through Step 4 above. Use the command to set the value of any listed process SetAttributeValue attribute.
Page 256
Managing Process Execution with Conductor Script The commands needed to intervene in execution of an iIS process instance are documented in Appendix A, “Conductor Script Commands” and summarized in the table below: Command Arguments Function See… Place the specified activity in the page 273 AbortActivity process_id...
Page 257
Managing Process Execution with Conductor Script Command Arguments Function See… List all existing event filters for the page 289 ListFilters —— current engine. List process instances for a specified page 289 ListProcesses [short], process (or all process instances) in the [name process_name] current engine, or list a summary of process instances by process name.
Managing Process Execution with Conductor Script Command Arguments Function See… Display the contents of the specified page 305 ShowActivityQueue process_name, queue (or all queues) for the specified [queue_name] process in the current engine. Show details of specified process page 307 ShowProcess process_id instance, including all activities and the...
Managing Process Execution with Conductor Script Command Arguments Function See… Indicates any in-progress two-phase page 307 ShowProcess process_id commit transactions in the process. Indicates whether the session has page 308 ShowSession session_id two-phase commit mode enabled, and if so, any in-progress transaction. For example, it may indicate the following: Two phase commit mode is enabled.
Page 260
Managing Process Execution with Conductor Script Command Argument Function See… Lists information for all page 291 ListTransactions in-progress iIS engine transactions (that is, those in a PREPARE phase) for all sessions in the current engine. Rolls back the in-progress page 298 RollbackTransaction session_ID iIS transaction for the...
Appendix A Conductor Script Commands This appendix is an alphabetically ordered reference of the Conductor Script commands. Conductor Script is a command line utility built on top of the iPlanet UDS Fscript command utility. As such, it includes Fscript commands for performing repository-based operations, as well as a large number of iIS-specific commands.
Conductor Script Command Summary Hierarchy of Conductor Script Levels Figure A-1 Environment Environment Mode Engine Engine 2 Engine 2 Engine 2 Mode Component Governor Backup Engine Unit Mode Primary Engine Unit Database Service Each Conductor Script command is defined on one of these levels. To use a command, you navigate the hierarchy, making either an engine or an engine component “current,”...
Conductor Script Command Summary Environment Mode Commands The Conductor Script environment mode commands work only in the active environment. They are used mostly to specify the current engine and current node, and also to make library distributions that can be registered with iIS process engines.
Conductor Script Command Summary Command Arguments Function See… Set password protection on page 300 SetPassword [old_password] opening Conductor Script [new_password] in your active environment. Once you set a password, other users may not open Conductor Script (or iIS Console, or iPlanet UDS Environment Console, or Escript) in that environment without...
Page 265
Conductor Script Command Summary Command Arguments Function See… Set the specified node as page 285 FindNode node_name the “current” node. The node must exist in the environment. Set the primary engine page 285 FindPrimary —— unit for the current engine as the current component.
Conductor Script Command Summary Command Arguments Function See… Start all components of page 315 StartEngine [newLog] the engine as specified in [newState] the engine configuration [newRegistration] file. (Includes various [cold] start options that create new engine database tables.) Start the governor for the page 316 StartGovernor ——...
Page 267
Conductor Script Command Summary Command Arguments Function See… Place the specified activity in the page 273 AbortActivity process_id, ABORTED state. activity_name Abort all process instances in the page 274 AbortAllProcesses —— current engine. Abort the specified process page 274 AbortProcess process_id instance.
Page 268
Conductor Script Command Summary Command Arguments Function See… Delegate the specified offered page 281 DelegateActivity process_id, activity (in the specified state) to activity_id other users using the specified state delegation assignment rule. The delegation_rule user name and other info string are [user_name] supplied if required by the [other_info]...
Page 269
Conductor Script Command Summary Command Arguments Function See… Change the state of the specified page 293 ReadyActivity process_id, activity from PENDING to activity_name READY. Register the alias—representing a page 294 RegisterAlias alias_name, specified process running on a process_name, specified engine in a specified engine_name, environment—with the current environment...
Page 270
Conductor Script Command Summary Command Arguments Function See… Reprioritize activities in an activity page 301 SetQueuedActivity process_id, queue by setting the prioritizing Priority activity_id process attribute for a specified prioritizing_value activity to a specified value. Set the specified timer to the page 302 SetTimer process_id,...
Conductor Script Command Summary Command Arguments Function See… Suspend all active sessions in the page 319 SuspendAllSessions —— current engine. Suspend the specified active page 320 SuspendSession session_id session. Terminate all sessions in the page 320 TerminateAllSessions current engine. Terminate the specified session. page 321 TerminateSession session_id...
Conductor Script Command Summary Generic component A few commands work for any current component. Command Parameters Function See… Display the status of the page 309 ShowStatus [short] current component. If the current component is an engine unit in the ONLINE state, then this command shows the full instrumentation implemented for all the...
Conductor Script Commands Conductor Script Commands The following is a listing of all Conductor Script commands. AbortActivity command aborts the specified activity, placing it in the AbortActivity ABORTED state. AbortActivity process_id activity_name Argument Description The process instance in which the activity was created. process_id The name of the activity.
Conductor Script Commands AbortAllProcesses command aborts all process instances for the current AbortAllProcesses engine. AbortAllProcesses command is only available for the current engine. Use the AbortAllProcesses Script command to set the current engine and the FindEngine ListProcesses Script command to display a list of process instances before aborting them. When you issue the command, the engine posts an alarm for AbortAllProcesses...
Conductor Script Commands BroadcastMessage command sends a message to all active sessions on the BroadcastMessage current engine. BroadcastMessage message urgency Argument Description An alphanumeric string that constitutes the text of the message. Message text message must be enclosed in double quotes. One of two specified string constants: INFORMATIONAL or CRITICAL.
Conductor Script Commands CompleteActivity command completes the specified activity, putting it in CompleteActivity COMPLETED state. CompleteActivity process_id activity_name Argument Description The process instance in which the activity was created. process_id The name of the activity. activity_name command is only available when an engine is current. Use CompleteActivity Script command to set the current engine.
Page 277
Conductor Script Commands ConsultActivity process_id activity_id state consultation_rule return_rule [user_name1 [other_info1] [user_name2 [other_info2]]] Argument Description The process instance in which the activity was created. process_id The activity instance to be delegated. activity_id The state of the activity instance to be delegated (READY or state ACTIVE).
Conductor Script Commands The user_name1 and other_info1 arguments must be supplied if required by the consultation assignment rule. For example, if a consultation rule named “ManagerOf” looks for the manager of the user who is handing off to a consultant, then this user’s user name and other info (in this case the manager’s name) would be passed to the ManagerOf assignment rule.
Conductor Script Commands CreateFilter command creates a filter for events posted on the current CreateFilter engine object. CreateFilter time_interval filter_expression Argument Description The time during which the filter batches up events before time_interval reporting them, in milliseconds. Expression specifying filter criteria. filter_expression command is only available when an engine is current.
Conductor Script Commands Object Class Class Value Description Session Events involving sessions Process instance Events involving process instances Activity Events involving activities Engine Events involving engine objects Timer Events involving timers Registration Events involving registrations Object Instance This element specifies a particular instance identification, if desired—for example, a session name, activity name, or process ID.
Conductor Script Commands Operator Meaning > greater than <= less than or equal to >= greater than or equal to logical and logical or logical not Examples Some example filter expressions follow: Filter Expression Meaning class = 1 and name = “Session1” Filter all events from the session whose name is “Session1”.
Page 282
Conductor Script Commands Argument Description The state of the activity instance to be delegated (READY or state ACTIVE). The assignment rule used to assign the activity to sessions, that is, delegation_rule to delegated users. The user name, if any, required by the delegation_rule. If this user_name argument is not required, place a null argument in quotation marks (““).
Conductor Script Commands DeleteFilter command deletes the specified event filter in the current DeleteFilter engine. DeleteFilter filter_id Argument Description The specified filter. filter_id command is available only when an engine is current, so you DeleteFilter must first use the Script command to set the current engine. FindEngine You can to use the Script command to display a list of filters before...
Conductor Script Commands FindEngine command sets the specified engine as the current engine. FindEngine FindEngine engine_name Argument Description The specified engine. engine_name command is always available. The specified engine need not be FindEngine running. You can use the Script command to display the list of engines. The ListEngines command is normally the first command issued to perform any FindEngine...
Conductor Script Commands FindNode command sets the specified node as the current node. FindNode FindNode node_name Argument Description The specified node. Must be in same environment as the engine. node_name command is available only for the current engine. FindNode command is normally used to start engine components (using the FindNode , and Script commands).
Conductor Script Commands command is normally used to check the status of the primary FindPrimary engine unit (using the Script command), to change its state (using the ShowStatus Script commands), and to perform process execution and SetState Shutdown engine database management tasks. FindUnit command sets the specified engine unit for the current engine as the FindUnit...
Conductor Script Commands IIOPServer command starts, stops, or displays information about the IIOP IIOPServer service needed to support CORBA/IIOP iIS process client applications. IIOPServer [start|stop|show] command is always available. IIOPServer command is used to start up the IIOP service installed by the iIS IIOPServer installer program on the central server node in your iPlanet UDS environment.
Conductor Script Commands command displays all activity queues in a specified ListActivityQueues process definition. For each queue the command displays ListActivityQueues the process name and the queue name. ListConductorDistributions command displays a list of the specified type ListConductorDistributions of library distribution (generated from iIS process development workshops) available for registration.
Conductor Script Commands ListEngines command displays a list of all running and configured engines ListEngines in the current environment. ListEngines command is always available. ListEngines The list displayed includes all configured engines, indicating engines that are ONLINE. It also includes engines that are ONLINE for which there is no configuration file.
Conductor Script Commands Options • If you use the option, the command displays a summary of process short instances by process definition. • If you use the option, the command displays all process instances for the name specified registered process definition. •...
Conductor Script Commands ListSessions command displays all sessions maintained by the current ListSessions engine. ListSessions command is available only when an engine is current, so you ListSessions must first use the Script command to set the current engine. FindEngine For any given session, you can change its state using the SuspendSession Script command.
Conductor Script Commands MakeConductorDistribution command generates a library distribution for MakeConductorDistribution the current plan. The plan must be created in the iIS process development workshops. MakeConductorDistribution command is always available; however, it MakeConductorDistribution requires that a plan created in the iIS process development workshops also be current.
Conductor Script Commands To start logging, use the ’+’ followed by a set of message filters in parentheses. To stop logging, use the ’-’ followed by a set of message filters in parentheses. The settings specified with the command modify the log message ModLogFlags filters that were set when the current component started up, based on the FORTE_LOGGER_SETUP environment variable.
Conductor Script Commands RegisterAlias command registers the specified subprocess alias in the RegisterAlias current engine’s registration database. For more information on aliases, see “About Aliases” on page 143. RegisterAlias alias_name process_name engine_name environment Argument Description The name of the alias (same as the process name). alias_name The name of the process referenced by the specified alias.
Conductor Script Commands Use the Script command to display a list of ListConductorDistributions distributions available for registration (you can filter the list for assignment rule dictionaries). The command registers an assignment RegisterAssignmentRules rule dictionary only if a dictionary of the same name and compatibility level is not already registered.
Conductor Script Commands command is available only when an engine is current, RegisterUserProfile so you must first use the Script command to set the current engine. FindEngine Use the Script command to display a list of ListConductorDistributions distributions available for registration. You can filter the list for user profiles. You can register multiple user profiles with an engine if each has a unique name, but you can register only one compatibility level of a user profile of a given name.
Conductor Script Commands RemoveReadLock command removes a read lock on the specified process RemoveReadLock attribute. RemoveReadLock process_id attribute_name Argument Description The process instance of the specified attribute. process_id The name of the process attribute that is locked. attribute_name command is available only when an engine is current, so you RemoveReadLock must first use the Script command to set the current engine.
Conductor Script Commands RollbackActivity command changes the state of the specified activity from RollbackActivity ACTIVE to READY. RollbackActivity process_id activity_name Argument Description The process instance in which the activity was created. process_id The name of the activity. activity_name command is available only when an engine is current, so RollbackActivity you must first use the Script command to set the current engine.
Conductor Script Commands RollbackTransaction {session_ID | transaction_ID} Argument Description The identifier of the session which has a transaction in a PREPARE session_ID phase. A session can have only one in-progress two-phase transaction. The identifier of the transaction in a PREPARE phase. transaction_ID To commit an in-progress iIS engine transaction, use the CommitTransaction...
Conductor Script Commands SetAttributeValue command sets a specified process attribute in the current SetAttributeValue engine to a specified value. SetAttributeValue process_id attribute_name attribute_type value Argument Description The process instance of the specified attribute. process_id The name of the process attribute that is to be set. attribute_name The data type of the attribute value.
Conductor Script Commands You can use the Script command to set a password, change an SetPassword existing password to a new password, or delete an existing password. SetPrimary command sets the specified engine unit for the current engine as SetPrimary the primary unit.
Conductor Script Commands command is available only when an engine is SetQueuedActivityPriority current, so you must first use the Script command to set the current FindEngine engine. command lets you change the ordering of SetQueuedActivityPriority activities in a queue by changing the value of the queue prioritizing attribute for a specified activity in the queue.
Conductor Script Commands command is available only when an engine is current, so you must SetTimer first use the Script command to set the current engine. FindEngine You can use the command to turn any timer on or off, to reset an elapsed SetTimer timer to its original time interval, or to do both.
Conductor Script Commands SetTimerElapsed command sets the specified elapsed timer to the specified SetTimerElapsed state (ON, OFF, or no change) and sets a new elapsed time interval until expiration. SetTimerElapsed process_id timer_name state time_interval Argument Description The process instance of the specified timer. process_id The name of the specified timer.
Conductor Script Commands command displays the following information: ShowActivity • activity name • activity ID • process name • process ID • activity state • activity type • application description • list of sessions for which activity is on session activity list, displaying session •...
Conductor Script Commands command displays a list of activities in the queue, if any, ShowActivityQueue or of sessions waiting for a queued activity if no activities are in the queue. For each activity in the queue, the command displays the following ShowActivityQueue information: activity name, activity ID, activity state, prioritizing value (value of the queue prioritizing process attribute), and process ID.
Conductor Script Commands You can use the Script command to display a list of engines in the ListEngines environment before selecting the engine to display. ShowLogFlags command displays the log message filters (log flags) for the ShowLogFlags current component. ShowLogFlags command is available only when an engine component is ShowLogFlags current.
Conductor Script Commands • list of activities, displaying activity name, activity ID, process ID, activity state (as in Script command) ListActivities • list of timers, displaying timer name, process ID, state, type, expiration time and date (as in Script command) ListTimers •...
Conductor Script Commands • user • user’s roles • list of active attribute accessors You can use the Script command to display a list of sessions in the ListSessions engine before selecting the session to display. ShowStatus command displays status information for the current engine or ShowStatus any of its individual components.
Page 310
Conductor Script Commands engine unit: (See also “primary engine unit:” on page 311.) • unit name • unit state: ONLINE or STANDBY • shell state: IDLE, TOKEN_REQUESTED (negotiating with partner), or CONNECTED • governor channel: OPEN or CLOSED • partner channel: OPEN or CLOSED •...
Page 311
Conductor Script Commands primary engine unit: • unit name • startup phase (if not ONLINE) • unit state: ONLINE or STANDBY • shell state: IDLE, TOKEN_REQUESTED (negotiating with partner), or CONNECTED • governor channel: OPEN or CLOSED • partner channel: OPEN or CLOSED •...
Page 312
Conductor Script Commands Instrument Description ActiveActivities Number of current ACTIVE activities CurrentActivities Number of current activities = PendingActivities + ReadyActivities + ActiveActivities CompletedActivities Number of completed activities (terminated) since engine startup AbortedActivities Number of aborted activities (terminated) since engine startup TotalActivities Number of activities since engine startup = CurrentActivities +...
Conductor Script Commands Instrument Description LoginUserName The database user (login) name. LoggingState The database logging settings: the tables to which the engine is logging state and history information. TransactionCommitTime The average time it takes the engine to commit a change of state (complete a transaction involving the engine database).
Conductor Script Commands Shutdown command shuts down the current engine or one of its individual Shutdown components. Shutdown command is available only when the engine is current or if an Shutdown engine component is current. Use the Script command to set the FindEngine current engine, and, in addition, the , or...
Conductor Script Commands In the case of offered and queued activities, which are performed by client applications, the engine will assign the ACTIVE activity to the session specified by the session_id parameter. In the case of Automatic or SubProcess activities, which are not directly performed by client applications, the engine need not assign the ACTIVE activity to a session.
Conductor Script Commands command includes a number of start options that create new StartEngine engine database tables: Table A-1 StartEngine Command Options Option Description New history log database tables are created during the primary newLog engine unit startup process. All history log information stored in an existing database is lost.
Conductor Script Commands command reads the memory flag setting for governor StartGovernor specified in the engine configuration file (see “Engine Configuration File” on page 90 Step 10 under “How to Configure a New Engine” on page 95). Script command—or the command followed by ShowStatus FindGovernor...
Page 318
Conductor Script Commands command includes the following start options that create new StartUnit engine database tables: Table A-2 StartUnit Command Options Option Description New history log database tables are created during the primary newLog engine unit startup process. All history log information stored in an existing database is lost.
Conductor Script Commands StopTimer command changes the state of the specified timer from ON to OFF. StopTimer StopTimer process_id timer_name Argument Description The process instance of the specified timer. process_id The name of the timer to be reset. timer_name command is available only when an engine is current, so you must StopTimer first use the Script command to set the current engine.
Conductor Script Commands SuspendSession command suspends the specified active session, or sessions, SuspendSession in the current engine. SuspendSession session_id [session_id…] Argument Description The specified active session. (A list of up to ten session_ids separated by session_id spaces is supported.) command is available only when an engine is current, so you SuspendSession must first use the Script command to set the current engine.
Conductor Script Commands The engine posts a SessionTerminated event on each session before it is terminated, so that the respective client applications can take appropriate action. The effect of terminating a session on any ACTIVE activities is to place the activities back in READY state.
Conductor Script Commands command is always available. Uninstall command is normally performed to clean up the environment Uninstall repository after unregistering an iIS distribution from all engines in an environment. UnRegisterAlias command unregisters the specified subprocess alias from UnRegisterAlias the current engine’s registration database. For more information on aliases, see “About Aliases”...
Conductor Script Commands Argument Description The name of the assignment rule to be unregistered. If not rule_name specified, then all assignment rules in the specified dictionary will be unregistered. command is available only when an engine is UnRegisterAssignmentRules current, so you must first use the Script command to set the current FindEngine engine.
Conductor Script Commands UnRegisterUserProfile command deletes the specified user profile from the UnRegisterUserProfile current engine’s registration database. UnRegisterUserProfile user_profile_name Argument Description The name of the registered user profile. user_profile_name command is available only when an engine is UnRegisterUserProfile current, so you must first use the Script command to set the current FindEngine engine.
Page 325
Conductor Script Commands command is available only when an engine is current, so WaitForStartup you must first use the Script command to set the current engine. FindEngine In a script, the command is used after a Script WaitForStartup StartUnit command. The command causes the script to pause until the WaitForStartup specified engine unit successfully starts up before continuing with subsequent...
Page 326
Conductor Script Commands iPlanet Integration Server • Process System Guide • August 2001...
Appendix B Engine Database Schema This appendix documents the engine database schema. It lists the database tables and the specification of each, according to the following categories: • current state tables • registration tables • history log tables The tables are grouped first by category, and then alphabetically within each category.
Page 328
Database Tables by Category Current State Tables Registration Tables History Log Tables WFHProcParameters WFHTerminatedProcs WFHTermProcParas WFHActivity WFHActivityLog* WFHActStateLog* WFHQueuedActivity WFHRoleBasedAct WFHActivityTokens WFHActivityUsers WFHAssignment WFHSession WFHSessionLog* WFHSessionRole WFHSessAttributes WFHRetryInfo WFHTimer WFHTimerLog* WFHTimerStateLog* WFHActiveTimer WFHComplexRule WFHControl WFHRecoveryHelp WFHColdStart WFHColdStartLog WFHPerformanceLog WFHAlarmLog * corresponds to History log configuration options. See “How to Configure a New Engine”...
Alphabetical Listing of Tables Alphabetical Listing of Tables The following is an alphabetical list of all tables created in the engine database, with a page reference to details about each. Engine Database Tables Table B-1 Database Table See… Description WFHActiveTimer page 332 Active timers that are not in memory.
Page 330
Alphabetical Listing of Tables Engine Database Tables (Continued) Table B-1 Database Table See… Description WFHControl page 337 System maintained table of sequence values for producing unique IDs for process, session, and timer instances. WFHLocks page 337 The type of access held on all instances of process attributes.
Database Schema Reference Engine Database Tables (Continued) Table B-1 Database Table See… Description WFHSessionRole page 344 Current client sessions and their roles. If a session has multiple roles, this table has a separate row for each role. WFHTerminatedProcs page 344 Internal use only.
Database Schema Reference Current State Tables The following is an alphabetical list of all current state tables in the engine database. Indexes to tables are indicated by a checkmark ( ) in the Index column. In some cases, a table has an alternate index, indicated by a bullet ( ). For a description of each of these tables, refer to Table B-1 on page 329.
Database Schema Reference WFHActivity (Continued) Table B-3 Name Index Null? Type Description TYPE NUMBER(38) Type of activity: 1 – First activity 2 – Last activity 3 – Offered activity 4 – Subprocess activity 5 – Automatic activity 6 – Queued activity 7 –...
Page 334
Database Schema Reference WFHActivity (Continued) Table B-3 Name Index Null? Type Description ACTNAME VARCHAR2(64) The name of the activity in the process definition. ABORTRACTION NUMBER(38) Abort routing information. Internal use only. WUSER VARCHAR2(64) The “LinkedUser” information passed into this activity by its activity link. If there is no activity link, value is “<NO_LINKED_USER>”...
Page 335
Database Schema Reference Table B-4 WFHActivityTokens Name Index Null? Type Description PROCESSID NUMBER(38) Unique identifier for the process instance NULL in which this activity instance occurs. ACTIVITYID NUMBER(38) Unique identifier for a pending activity NULL instance within the process instance in which it occurs.
Page 336
Database Schema Reference Table B-6 WFHAssignment Name Index Null? Type Description PROCESSID NUMBER(38) Unique identifier for the process instance NULL in which this activity instance occurs. ACTIVITYID NUMBER(38) Identifier for the activity instance in the NULL process instance designated by PROCESSID.
Page 337
Database Schema Reference Table B-8 WFHComplexRule Name Index Null? Type Description PROCESSID NUMBER(38) Unique identifier for the process instance in which this activity instance occurs. ACTIVITYID NUMBER(38) Identifier for the activity instance in the process instance designated by PROCESSID. Table B-9 WFHControl Name Index...
Page 338
Database Schema Reference Table B-10 WFHLocks (Continued) Name Index Null? Type Description LOCKTYPE NUMBER(38) Type of access to the process attribute: 1 – WFAttributeAccessor.READ 2 – WFAttributeAccessor.READQ 3 – WFAttributeAccessor.WRITE 4 – WFAttributeAccessor.WRITEQ 5 – WFAttributeAccessor.NO_LOCK ACCESSORID NUMBER(38) Unique identifier for the attribute accessor instance within the process instance.
Page 339
Database Schema Reference Table B-12 WFHProcess Name Index Null? Type Description NUMBER(38) Unique identifier for the process instance NULL in this engine. TYPE NUMBER(38) Type of process (means of process creation): 1 – Process 2 – Subprocess STATE NUMBER(38) State of the process instance: 405 –...
Page 340
Database Schema Reference Table B-12 WFHProcess (Continued) Name Index Null? Type Description NEXTACTIVITYID NUMBER(38) Sequence for the next activity instance within this process instance. INTERNALNAME VARCHAR2(138) Internal use only. PROCNAME VARCHAR2(64) The name of the process definition of which this running process is an instance.
Page 341
Database Schema Reference Table B-13 WFHProcParameters Name Index Null? Type Description PROCESSID NUMBER(38) The PROCESSID of a synchronous NULL subprocess that has an output parameter. ATTNAME VARCHAR2(64) The name of a process attribute that must be returned to the calling process (an output parameter).
Page 342
Database Schema Reference Table B-16 WFHRetryInfo Name Index Null? Type Description GROUPID NUMBER(38) Identifier for the session between the NULL engine and client. SEQNUMBER NUMBER(38) Identifier for the retry attempt. NULL PROCESSID NUMBER(38) Unique identifier for a process instance in the engine. ACTIVITYID NUMBER(38) Identifier for an activity instance in the...
Page 343
Database Schema Reference Table B-18 WFHSessAttributes Name Index Null? Type Description SESSIONID NUMBER(38) Identifier for the session between the NULL engine and client application. ATTNAME VARCHAR2(64) Name of a process attribute in the NULL session. ATTTYPE NUMBER(38) The type of the process attribute. NULL ATTSEGMENTID NUMBER(38)
Page 344
Database Schema Reference Table B-20 WFHSessionRole Name Index Null? Type Description SESSIONID NUMBER(38) Unique identifier for the client session. NULL Joins to WFHSESSION.ID. ROLENAME VARCHAR2(64) A role held by the session. Table B-21 WFHTerminatedProcs Name Index Null? Type Description COMBINEDID VARCHAR2(158) Internal use only.
Page 345
Database Schema Reference Table B-22 WFHTermProcParas Name Index Null? Type Description COMBINEDID VARCHAR2(158) Internal use only. NULL ATTNAME VARCHAR2(64) The name of the attribute that must be returned to the calling process (an output parameter). ATTTYPE NUMBER(38) Attribute type. ATTSEGMENTID NUMBER(38) Internal use only.
Database Schema Reference Table B-23 WFHTimer (Continued) Name Index Null? Type Description CURRELATIVETIME VARCHAR2(32) For a paused elapsed timer, the duration remaining should the timer be turned on again without reset, expressed in character form. For a paused deadline timer, the “remembered”...
Database Schema Reference Table B-25 WFHRegistration Name Index Null? Type Description APPLICATIONID VARCHAR2(32) Name of the installed application for this NULL iIS plan. COMPATIBILITYLEVEL NUMBER(38) Compatibility level of the installed NULL library of this iIS plan. LIBRARYNAME VARCHAR2(64) Name of the installed library for this iIS plan.
Page 348
Database Schema Reference Table B-26 WFHActivityLog Name Index Null? Type Description NUMBER(38) Unique identifier for this activity instance within the process instance in which it occurs. ACTNAME VARCHAR2(64) The name of the activity in the process definition. CREATETIME DATE Time that the activity instance was created.
Page 349
Database Schema Reference Table B-27 WFHActStateLog (Continued) Name Index Null? Type Description SESSIONID NUMBER(38) ID of the session that owns this activity (if the activity is ACTIVE). LOGTIME DATE Time of this logging. Table B-28 WFHAlarmLog Name Index Null? Type Description ALARMTYPE VARCHAR2(64)
Page 350
Database Schema Reference Table B-30 WFHAttribLockLog Name Index Null? Type Description PROCESSID NUMBER(38) Unique identifier for the process instance in which this process attribute occurs. ACTIVITYID NUMBER(38) If the access to the process attribute is associated with an activity, the unique identifier for this activity instance.
Page 351
Database Schema Reference Table B-32 WFHPerformanceLog Name Index Null? Type Description SAMPLETIME DATE Date time stamp for the sample. NULL RESPONSETIME NUMBER(38) Average engine response time to NULL requests by a client application. SWAPINTIME NUMBER(38) Average process swap in time. NULL SWAPOUTTIME NUMBER(38)
Page 352
Database Schema Reference Table B-32 WFHPerformanceLog (Continued) Name Index Null? Type Description ACTIVEPAGE NUMBER(38) The number of active memory pages for NULL the engine. ALLOCATEPAGE NUMBER(38) The number of allocated memory pages NULL for the engine. Table B-33 WFHProcAttribLog Name Index Null? Type...
Page 353
Database Schema Reference Table B-34 WFHProcessLog Name Index Null? Type Description NUMBER(38) Unique identifier for the process instance in this engine. PROCNAME VARCHAR2(64) The name of the process definition of which this process is an instance. SUBMITTIME DATE Date and time the process instance was begun.
Page 354
Database Schema Reference Table B-35 WFHProcessStateLog Name Index Null? Type Description NUMBER(38) Unique identifier for the process instance in this engine. STATE NUMBER(38) New state of the process instance: 405 – WFProcess.PREPARE_CREATE 410 – WFProcess.CREATED 420 – WFProcess.ACTIVE 430 – WFProcess.COMPLETED 435 –...
Page 355
Database Schema Reference Table B-36 WFHRegistrationLog (Continued) Name Index Null? Type Description STATE NUMBER(38) Effect of this registration action: 1 – Registered -1 – Unregistered LOGTIME DATE Time of this logging. Table B-37 WFHSessionLog Name Index Null? Type Description NUMBER(38) Unique identifier for the client session.
Page 356
Database Schema Reference Table B-39 WFHTimerStateLog Name Index Null? Type Description NUMBER(38) Unique identifier for the timer instance within this engine. PROCESSID NUMBER(38) Unique identifier for the process instance in which this timer instance occurs. STATE NUMBER(38) New state of the timer: 810 –...
Database Schema Reference State Values Many of the history log tables listed in this section have a field that represents the state of a given engine object: process instance, activity, session, and timer. The following table shows the values corresponding to the various states of these objects: Object State...
Page 358
Database Schema Reference iPlanet Integration Server • Process System Guide • August 2001...
Index activity states ABORTED 163, 199, AbortActivity command, Conductor Script ACTIVE 163, 199, AbortAllProcesses command, Conductor Script changing COMPLETED 163, 199, ABORTED DELETED 199, activity state 163, 199, PENDING 162, 199, process instance state 173, 198, process execution and aborting READY 162, 199, activities transitions 164,...
Page 360
Section B CompleteActivity ConsultActivity backup engine unit CreateActivity defined CreateFilter partitioning guidelines DelegateActivity BOTH governor state DeleteFilter FindDBService BroadcastMessage command, Conductor Script FindEngine FindGovernor FindNode FindParentEngine FindPrimary FindUnit cconsole command FlushLog central server node IIOPServer definition ListActivities installation ListActivityQueues ChannelDisconnect alarm ListConductorDistributions client application development node ListEngines...
Page 361
Section D Conductor Script command (continued) enterprise ShowActivityQueue organization ShowConfiguration database service ShowEngine configuring 98, ShowLogFlags defined ShowProcess monitoring ShowSession partitioning guidelines ShowStatus startup ShowTimer database service state Shutdown DatabaseDisconnect alarm StartActivity DelegateActivity command, Conductor Script StartDBService DELETED states 199, StartEngine DeleteFilter command, Conductor Script StartGovernor...
Page 362
Section E engine (continued) controlling growth reconfiguration defined recovery 34, Dump/Restore facilities registration manager failure relation to iIS process management system logging settings 89, 98, relocating managing shutting down recovery options shutting down components relation to iIS process management system starting with Conductor Script schema starting with iIS Console...
Page 363
Section F exception alarm exceptions, logged history log schema, graphical representation execution options history log tables Exit command, iIS Console database schema EXPIRED timer state 199, engine database 124, graphical representation failover, engine unit failure IDLE governor state engine 34, IIOPServer command, Conductor Script engine database iIS Console...
Page 364
Section L installation message filters central server development client node specifying 212, engine server node messages runtime client node broadcasting instrument data, logged sending to sessions ModLogFlags command, Conductor Script monitoring engine startup engine state process execution 179, sessions last activity, description two-phase commit operations library distribution and registration ListActivities command, Conductor Script...
Page 365
Section Q performance chart 221, process instances aborting performance indicators execution options performance, engine 89, stalled ping interval, session status, checking PREPARE state (two-phase commit) swapping primary engine unit, partitioning guidelines process, analysis of process attributes ProcessAbort alarm locks, removing production engines value, changing production loads and memory...
Page 366
Section S RegisterAlias command, Conductor Script RollbackTransaction command, Conductor Script RegisterAssignmentRules command, Conductor Script runtime client node defined registering installation Conductor distributions engine with alarm service RegisterProcessDefinition command, Conductor Script RegisterUserProfile command, Conductor Script RegisterValidation command, Conductor Script schema, See engine database registration scripts about...
Need help?
Do you have a question about the iPlanet Integration Server 3.0 and is the answer not in the manual?
Questions and answers