Beruflich Dokumente
Kultur Dokumente
Administration Guide
BusinessWare Version 4.2.1
March 2004
Copyright 1997-2004
Vitria Technology, Inc.
945 Stewart Drive
Sunnyvale, CA 94085-3913
Phone: (408) 212-2700
Fax: (408) 212-2720
All rights reserved. Printed in the USA.
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
Audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
Related Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
BusinessWare Documentation Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii
How this Guide Is Organized . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv
Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv
Command-Line Notation Conventions . . . . . . . . . . . . . . . . . . . . . . xvi
Contacting Vitria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii
Headquarters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii
Technical Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii
Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii
Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2
Setting vtprincipal and vtbw3password in Active Directory . 8-2
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-3
Setting vtbw3password Using the Web Administration Tool . . . . 8-4
BusinessWare 4.x to BusinessWare 3.x Channel Federation. . . . . . . . . 8-4
Installing the Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-5
Troubleshooting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-8
BusinessWare 3.x to BusinessWare 4.x Federation . . . . . . . . . . . . . . . . 8-9
logchanview . . . . . . . . . . . . . . . . . . . 10-12
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-12
registeraction . . . . . . . . . . . . . . . . . 10-13
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-13
rescomp . . . . . . . . . . . . . . . . . . . . . 10-13
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-14
showxport . . . . . . . . . . . . . . . . . . . . 10-15
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-15
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-15
startadminwebserver . . . . . . . . . . . . . . . 10-16
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-16
startservs . . . . . . . . . . . . . . . . . . . 10-16
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-16
stopadminwebserver . . . . . . . . . . . . . . . 10-17
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-17
stopservs . . . . . . . . . . . . . . . . . . . . 10-17
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-17
vtadmin . . . . . . . . . . . . . . . . . . . . . 10-17
Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Index-1
AUDIENCE
This guide is intended for system administrators who are familiar with Windows,
Solaris, HP-UX, and AIX administration.
RELATED READING
Refer to the following documents for information related to the topics in this
manual:
! BusinessWare Installation Guide
! BusinessWare Administration Help (available online)
! Application Administration Help
! BusinessWare Modeling Guide
! BME Help (available online)
CONVENTIONS
This manual uses the following conventions:
! Monospace
Specifies file names, object names, and programming code.
Example: C:\VTlicenses
! Italics
" Identifies a variable.
Example: installdir/bin/unix_platform, where
installdir indicates the directory where BusinessWare is installed and
unix_platform indicates the Unix platform, such as Solaris, HP-UX,
or AIX.
" Indicates a value that you must enter within examples and command
syntax.
Example: java com.vitria.rta.AnalyzerUtil -n servername
" Introduces new terminology, highlights book titles, and provides
emphasis.
Example: An operation is a defined action that is meant to be applied to a
given class of software objects.
! Bold
Highlights items and indicates specific items in a graphical user interface
(GUI).
Example: From the list, select the Properties item.
! Path names
" This document uses the variable installdir to indicate the directory where
BusinessWare is installed. On Windows, the default installation directory
is C:\Program Files\Vitria\BW41. On Unix, the default
installation directory is /usr/local/bw41.
" While BusinessWare is supported on multiple operating systems, path
names are displayed only in the Windows backslash format.
Example for Windows systems:
samples\communicator\javaflow\anypub.java
" If you are operating in a Unix environment, change to the forward slash
format.
Example for Unix systems:
samples/communicator/javaflow/anypub.java
" Internet URLs follow the standard forward slash convention.
Example:
http://www.vitria.com
CONTACTING VITRIA
If you have any questions regarding Vitria or any of the Vitria products, please
contact Vitria using the resources listed in this section.
HEADQUARTERS
Vitria Technology, Inc.
945 Stewart Drive
Sunnyvale, CA 94085
1-408-212-2700
http://www.vitria.com
TECHNICAL SUPPORT
Vitria Technical Support provides comprehensive support for all Vitria products
through our Technical Support Web site:
http://help.vitria.com (login and password required)
If you need a login for help.vitria.com, please send your request to:
contractadmin@vitria.com
Each customer who has purchased a support contract has one or more designated
individuals who are authorized to contact Vitria Technical Support. If you have
questions about using the BusinessWare products, please have a designated
person at your site open a case with Vitria Technical Support.
DOCUMENTATION
If you have any comments on the documentation, please contact the Technical
Publications group directly:
documentation@vitria.com
BUSINESSWARE SUBSYSTEMS
This section provides an overview of the basic BusinessWare subsystems. See
Management Tools on page 1-2 for information on the tools available to
manage these subsystems.
! BusinessWare Server (BServ)controlling process that starts the other
BusinessWare systems. The BusinessWare Server monitors all other services,
such as the Communicator Server and Integration Servers, and sends
notification when there is a service failure.
! Communicator Server (chanserv)BusinessWares asynchronous event
delivery mechanism that enables publish-subscribe communication.
Publishers push events to one or more channels/queues and subscribers
retrieve the events.
! Integration Serverserver that hosts the integration models that customers
create using the BusinessWare Modeling Environment (BME).
! Java servlet engine and Web Serverthe BusinessWare Runtime
Environment provides an integrated Web server and servlet engine that
enables the Web-based administration of all BusinessWare components.
See the BusinessWare Installation Guide for information on supported
products and other requirements.
MANAGEMENT TOOLS
BusinessWare includes a Web-based graphical user interface (GUI), which is the
Web Administration Tool, and command-line tools (utilities).
For more information on the using the BusinessWare Web Administration tool,
see Chapter 2, Using the Web Administration Tool.
Of these, the vtadmin command-line tool is used most often because it:
! Provides a versatile and consistent way to perform common administrative
operations on a variety of BusinessWare objects, and enables you to perform
these operations with scripts.
! Provides dozens of functions including starting, stopping, and checking the
status of BusinessWare Servers and channels/queues.
! Displays lists of all nodes, servers, channels, subscribers, or publishers where
you can deploy and undeploy projects.
Note: BusinessWare administrators must have sufficient privileges to
perform administration operations.
See Chapter 3, Using the Command-Line Administration Tool for more
information.
INSTALLATION
The BusinessWare Installer installs and configures the BusinessWare subsystems
including bundled third-party software that you choose to install and embedded
third-party software. During the installation process, you can manually configure
various items including:
! Destination location of BusinessWare runtime, BusinessWare Modeling
Environment, and Software Development Toolkit (SDK) files
! Various directories, including:
" Licenses directory
" JDK directory
" JRE directory
" .vtparams file location
! Windows service account
! Web server ports
! Environment variables
For more information on directory servers, see Chapter 4, Security and User
Management.
DEPLOYMENT
Deployment is the process by which a BusinessWare project (created in the
BusinessWare Modeling Environment) is configured and partitioned to run in the
BusinessWare Runtime Environment.
ADMINISTRATION
During administration you should monitor, debug, perform diagnostics, and
configure and reconfigure your BusinessWare solution as needed. The list below
is a high-level view of the activities that you can perform during administration:
! Viewing and changing various properties of BusinessWare projects and
servers, including:
" Projects
" Businessware Servers
" Integration Servers
" Communicator Server
" Channels/queues
! Monitoring BusinessWare via diagnostic logs
! Configuring Web servers
! Setting up BusinessWare Task List
You can start or stop the BusinessWare Server using the Services control panel
(go to Windows Control Panel > Administrative Tools > Services).
You may also start and stop BusinessWare Servers on Unix platforms, using
command-line scripts. See startservs on page 10-16, stopservs on
page 10-17, startadminwebserver on page 10-16, and
stopadminwebserver on page 10-17.
Note: Projects must be manually restarted if the BusinessWare Server is stopped
and restarted. Projects are never automatically restarted.
ENVIRONMENT VARIABLES
BusinessWare Servers and Communicator Servers use the system environment
variables given in Appendix A, Environment Variables, Registry Items, and
System Files. These variables are specified in your Windows Control Panel
under System > Advanced.
Note: You must stop the server before configuration, then restart the server for
the modifications to take effect. Generally, the environment variables are set to
default values as part of the installation process before the very first launch of a
BusinessWare Server.
Note: You also can complete many of the activities discussed in this chapter
using the vtadmin command-line tool. For more information on vtadmin, see
Chapter 3, Using the Command-Line Administration Tool.
You may also start the Web Administration tool through your browser by entering
the URI with the appropriate port number you configured during installation, such
as http://localhost:8080. If you enabled SSL for the Web Administration
tool (see Admin Web Server on page 6-1), your URI might be
https://localhost:8443.
There are several views which comprise the BusinessWare Web Administration
tool, many of which can be accessed from more than one point. The following
views are primary views, in that they serve as good starting points for accessing
information:
! All Projects View
! Project View
! Servers View
You can only start and stop projects or view the properties for the items displayed
in the executables list.
You can do the following from this view:
! All Items ViewClick the All Items View icon to display a resource-
centric view instead of a project-centric view.
! Log OutClick the Logout icon to log the current user out of the
BusinessWare Web Administration tool.
! View HelpClick the Help icon to display help for the BusinessWare
Web Administration tool.
! Enable Auto RefreshSelect the Auto Refresh box to enable
your view to be automatically refreshed.
! Start and Stop ProjectsClick the Start or Stop buttons to
start or stop the selected projects and all services associated with them. See
Starting and Stopping Projects on page 2-14 for more information.
! Set Project Global Default PropertiesClick the Properties button
to display the Project Global Defaults dialog box for the selected
project. Exactly one project must be selected. See Setting Project Global
Default Properties on page 2-16 for more information.
! Undeploy ProjectsThe Undeploy button allows you to
undeploy one selected project at a time. See Undeploying Projects on
page 2-14 for more information.
! View LogsThe Log Viewer allows you to view log files associated with text
or binary diagnostic loggers in the All Projects View. Select a component from
the All Projects View and click the View Logs button . Select the
logger you want to view and click OK.
The top part of the Log View displays logger-specific options to choose from
and the bottom displays the log entries. A channel logger shows you the
number of log entries in the channel. A text file logger displays the number of
log entries in the file and lets you select a range of entries to display.
The Display Last First option displays messages in reverse order (last
received message is displayed first). Clicking Update refreshes the displayed
entries. Clicking the arrows at the bottom of the window jumps you to the
beginning or end of the log. Clicking Cancel closes the logger.
PROJECT VIEW
The Project View is displayed when you select a Project link from All Projects
View. A list of all BusinessWare Servers and Clusters that are used by the project
is displayed. The list includes additional details, such as the BusinessWare Server
status, server type, server name, and the server directories.
SERVERS VIEW
The Servers View displays when you select a BusinessWare Server link from the
Project View. This view lists all of the services associated with the selected
project that are configured to run on the selected server.
CLUSTERS VIEW
The Clusters View is displayed when you select a Cluster link from the Project
View. This view lists all of the master and slave nodes in the cluster.
For information on how to start and stop the BusinessWare Server, see Starting
and Stopping BusinessWare Server on page 1-6.
Note: The sections below show you how to access the BusinessWare Server and
Communicator Server properties through the All Projects View. If no projects
are deployed that use the server you want to configure, you can access those
properties by clicking the All Items View icon. The bserv properties are
available by following the BusinessWare Servers > bserv name link. The
chanserv properties are available by following the BusinessWare Servers >
bserv name > Services > chanserv link. Click on the name of a server to display
the property view.
BUSINESSWARE SERVERS
To set or change the attributes for the BusinessWare Server:
1. On the All Projects View page, click on a project name under Executable
Projects.
2. On the Project View page, select a BusinessWare Server and click Properties
to make the desired changes. See Figure 2-2.
Figure 2-2
Figure 2-3
CLUSTERS
To set or change the attributes for a Cluster:
1. On the All Projects View page, click on a project name under Executable
Projects.
2. On the Project View page, select a Cluster and click Properties to make the
desired changes.
3. On the Servers page, select the chanserv checkbox, and click Properties to
make the desired changes. See Figure 2-5.
Figure 2-5
Note: Some properties (for example, the current DAT file size) are not
available unless the Communicator Server is running.
Note: Port changes do not take effect until the Communicator Server is
restarted.
You can view or change the following Communicator Server properties:
" IP AddressIP address of the server (read only).
" Version Infoversion number of the Communicator Server (read only).
" Port Numberport on which server listens for requests.
" Wait Limittime in seconds that a channel will wait for a reply from a
subscriber (default value for new channels/queues).
" Batch Event Sizenumber of events a publisher will send before verifying
the events have been received (default value for new channels/queues).
" Max Threadsmaximum number of worker threads that the server should
use.
4. Click the Multicast Properties tab to make the desired changes. See
Figure 2-6.
Figure 2-6
Figure 2-7
Figure 2-8
" Active Sub Prune Timetime in seconds that a channel can remain idle
before Communicator asks all subscribers to that channel to acknowledge
receiving events (default value for new channels/queues).
" Inactive Sub Prune Timepolling interval (in seconds) for determining
whether subscribers to an inactive channel are still active (default value for
new channels/queues).
" Transaction Timeoutlength of time in seconds a transaction is allowed
to run.
" Hop Limitmaximum hop count an event is allowed to have.
ADMINISTERING PROJECTS
This section describes how to administer projects from the All Projects View.
All selected projects and all of the services associated with them are started.
To stop a Project:
1. Select the checkboxes associated with the projects you want to stop.
2. Click the Stop button.
All selected projects and all of the services associated with them are stopped.
Note: Projects must be manually restarted if BusinessWare stops or there is a
system problem. Projects are never automatically restarted. You may want to
create a start-up script using the vtadmin start project command. See
Administering Projects on page 3-5.
UNDEPLOYING PROJECTS
To undeploy a project:
1. Select the project in the All Projects View and click the Undeploy button.
2. In the Shared Resources View that is displayed, select the shared resources
that you would like to be removed during undeploy. By default, all resources
are selected for removal.
PURGING PROJECTS
Various objects within a project, such as source connectors, target connectors,
process models, and channels/queues, have persistent state that at times you may
want to purge.
Note: The Purge command stops the Integration Server in which the project
runs.
To purge components and connectors within a project:
1. Select the project in the All Projects View and click the Purge Project button.
2. In the Purge Project View that is displayed, select the components and
connectors you want to purge. See Figure 2-9.
Figure 2-9
a. Select the components from the displayed list. The BPOs and timers
associated with the selected components will be deleted. The Data Objects
(DO) associated with the component will not be deleted unless you check
the Delete DOs box.
b. Select the connectors you want to purge. Select Purge Channels to purge
the channels associated with the selected connectors. Select Purge Queues
to purge the queues associated with the selected connectors.
c. Click the Purge button.
You can view or change the following Integration Server properties by clicking
on the appropriate tab and entering values in the fields. See Figure 2-11.
Figure 2-11
Note: If the server uses Cache instead of RDBMS, then there are no
properties listed.
" Database Resource Namename of the database resource.
" Truncate Stringsenables BusinessWare to truncate string values
(VARCHAR) if the strings are longer than the databases supported
column size.
" Serialize Blobcontrols how the object data is stored in the database. If
OFF, objects will be mapped using the normal object-relational mappings.
If ON, objects will be mapped as key/blob pairs.
" Prefixspecifies the prefix of internal and generated table names.
" Special Charspecifies the separator in generated table names and field
names.
" Class Separatorspecifies the separator in non-generated table names.
! Web Server (internal)
Note: These properties are listed if the Integration servers Enable Web
Server property is set to Internal.
" HTTP Compression Typethe type of compression to enable on the Web
server: off, on, or force. The default is off.
" ProtocolHTTP, HTTPS, or both
" HTTP PortHTTP port on which the Web server listens for requests.
" HTTPS PortHTTPS port on which the Web server listens for requests.
" Max Threadsmaximum number of threads.
" Max Connectionsspecifies the maximum number of connection requests
that are queued for the Web server.
" Connection Timeoutamount of time in seconds an inactive request
connection remains open.
" Event Listener Classlistener class for the Web server events that can be
used to implement a URL stream handler for specific protocols.
Note: These properties are listed if the Integration servers Enable Web
Server property is set to External.
" Redirection ProtocolAJP (currently read only property).
" Redirection Portport on which the Web server listens for requests.
" Max Threadsmaximum number of threads.
" Max Connectionsspecifies the maximum number of connection requests
that are queued for the Web server.
" Connection Timeoutamount of time an inactive request connection
remains open.
" Event Listener Classlistener class for the Web server events that can be
used to implement a URL stream handler for specific protocols.
Topics include:
! Overview
! Configuring BusinessWare
! Validating Directory Server Schema
! Starting and Stopping BusinessWare In Windows
! Starting and Stopping BusinessWare in Unix
! Administering BusinessWare and Communicator Servers
! Administering Projects
! Administering Project Components
! Administering Clusters
! Listing Proxies
! Administering Performance Monitoring
! Examples
OVERVIEW
System administrators interact with several different kinds of BusinessWare
objects: servers, channels, etc. With vtadmin, you can operate on a single object
or multiple objects of the same or different types in a unified way. For example,
you can start multiple Integration Servers with a single vtadmin invocation.
Note: To execute vtadmin, you must have permissions appropriate for the
action you ask vtadmin to perform.
SYNTAX
The most frequently used form of the vtadmin utility is:
You can obtain help on the vtadmin utility using the following syntax:
The optional component_type argument narrows the help to the component type
you specify; otherwise, vtadmin displays help for the available component
types.
CONFIGURING BUSINESSWARE
To configure BusinessWare using vtadmin, use the following
commands:
! vtadmin getinfo bwconfig
Shows directory server configuration information.
ADMINISTERING PROJECTS
To administer projects, use the following commands:
! vtadmin getinfo project <jar file or path>
Show information about the project in the JAR file or project path.
! vtadmin listall project [<project root path>]
Lists all the projects in the namespace. If <project root path> is provided, list
only project versions under that project root.
! vtadmin stopall project
Stops all the projects in the namespace.
! vtadmin deploy project <jar file> [-overwrite]
[-keepall | -removeall]
[-keepchannels | -removechannels]
[-keepqueues | -removequeues]
[-keepservers | -removeservers]
[-useparams <project info file>]
Deploys the project in the <jar file> to directory server. If the project already
exists, the optional parameters tell what to do with its resources:
" -overwriteIf project exists, overwrites the project in directory server.
" -keepallKeeps channels, queues, and servers of the existing
deployment.
" -removeallRemoves channels, queues, and servers of the existing
deployment.
" -keepchannelsKeeps channels of the existing deployment.
" -removechannelsRemoves channels of the existing deployment.
" -keepqueuesKeeps queues of the existing deployment.
" -removequeuesRemoves queues of the existing deployment.
INTEGRATION SERVERS
To administer Integration Servers, use the following commands:
! vtadmin check server <integration server path> |
<channel server path> | <base server path>
Reports the status of specified server. The path can be an Integration Server,
base server, or Communicator Server.
! vtadmin checkall server
Checks and fixes the IORs of all the servers under BWROOT if they are invalid.
Does not refresh IORs for dead proxies related to projects that have been
stopped.
! vtadmin listall server [<project path> | <bserv path>]
The optional path can be a project or a BusinessWare Server. If not specified,
list all Communicator Servers, base servers, and Integration Servers in the
namespace.
" If a project is specified, list only the servers it uses.
" If a BusinessWare Server is specified, list only the servers it uses.
! vtadmin listprojects server <server path>
Lists projects running on the specified server.
! vtadmin start server <integration server path> |
<base server path>
Starts the specified server.
! vtadmin stop server <integration server path> |
<base server path>
Stops the specified server.
! vtadmin startall server [<bserv path>]
Starts all Integration Servers and base servers in the namespace. If the
BusinessWare Server is specified, starts all Integration Servers and base
servers under that server.
! vtadmin stopall server [<bserv path>]
Stops all Integration Servers and base servers in the namespace. If the
BusinessWare Server is specified, stops all Integration Servers and base
servers under that server.
! vtadmin delete server <integration server path>
Deletes the specified Integration Server.
! vtadmin listtransactions server
<integration server path>
Lists all the transactions with the transaction ID and the state of the specified
server.
! vtadmin forceheuristic server <integration server path>
<xid> <commit>/<nocommit>
Forces heuristic outcome on this particular transaction. The transaction ID is
specified along with flag commit if the transaction needs to be committed or
nocommit if it is not desired.
! vtadmin finishtransaction server
<integration server path> [<xid>]
Finishes the transaction on the specified Integration Server given the
transaction ID.
! vtadmin rollbacktransaction server
<integration server path> [<xid>]
Rolls back the transaction on the specified Integration Server given the
transaction ID.
! vtadmin getProperties server <server path> [<xml file
path>] or
vtadmin getProperties server <project name> <server
name> [<xml file path>]
Generates an XML file with properties.
! vtadmin setProperties server <xml file path>
Reads an XML file and updates the properties.
! vtadmin stat server <server path> [<report interval>
<averaging interval> <pool>]
Returns pool utilization for server.
CONNECTORS
To administer connectors, use the following commands:
! vtadmin setPosition connector <project path>
<connector name> <position> or
vtadmin setPosition connector <connector path>
<position>
Sets the Channel Source connector position to the specified integer number in
a fully qualified string input in a format returned by getPosition.
! vtadmin getPosition connector <project path>
<connector name> or
Lists all channels in the namespace. If <project path> is specified, list only
channels it uses.
! vtadmin listpublishers channel <channel path>
Lists all publishers to the specified channel.
! vtadmin listsubscribers channel <channel path>
Lists all subscribers of the specified channel.
! vtadmin purge channel <channel path> [<low> <high>]
Purges events in the channel specified by <channel path>. If <low> and
<high> are specified, purge only events at positions <low> to <high>
inclusive.
! vtadmin rename channel <channel path> <new path>
Renames a channel from the old path to the new path.
! vtadmin getProperties channel <channel path>
[<xml file path>] or
vtadmin getProperties channel <project path>
<channel name> [<xml file path>]
Generates XML file with properties.
! vtadmin setProperties channel <xml file path>
Reads the XML file and updates the properties.
To administer queues, use the following commands:
! vtadmin check queue <queue path>
Checks status of the queue at <queue path>.
! vtadmin create queue <new path> [Reliable | Guaranteed]
Creates a queue of the given type at the specified path. The default type is
Guaranteed.
! vtadmin delete queue <queue path>
Deletes the specified queue.
! vtadmin listall queue [<project path>]
Lists all queues in the namespace. If <project path> is specified, list only
queues it uses.
! vtadmin listpublishers queue <queue path>
Lists all publishers to the specified queue.
! vtadmin listsubscribers queue <queue path>
Lists all subscribers of the specified queue.
! vtadmin purge queue <queue path> [<low> <high>]
Purges events in the queue specified by <queue path>. If <low> and <high>
are specified, purge only events at positions <low> to <high> inclusive.
! vtadmin rename queue <queue path> <new path>
Renames a queue from the old path to the new path.
! vtadmin replay queue <queue path> [<low> <high>]
Replays consumed events from the queue. If <low> and <high> are specified,
replay only events at positions <low> to <high> inclusive. If <low> and
<high> are not specified, they default to 0 and -1, respectively.
! vtadmin getProperties queue <queue path>
[<xml file path>] or
vtadmin getProperties queue <project path>
<queue path> [<xml file path>]
Generates XML file with properties.
! vtadmin setProperties queue <xml file path>
Reads the XML file and updates the properties.
ADMINISTERING CLUSTERS
To administer clusters, use the following commands:
! vtadmin check cluster <project path> <cluster name>
Checks status of a cluster in a project.
! vtadmin listall cluster <project path> [<cluster name>]
Lists all the clusters in a project or lists all Integration Servers in a cluster if
the cluster name is specified.
! vtadmin getProperties cluster <project path>
<cluster name> [<xml file path>]
Generates XML file with properties.
! vtadmin setProperties cluster <xml file path>
Reads the XML file and updates the properties.
LISTING PROXIES
To list all the proxies used by a project:
! vtadmin listall proxy <project path>
Lists all the proxies in the specified project.
The first two commands start/stop all the performance counters in the server. The
third command writes the counter values to a file in XML format.
To monitor individual projects, use the following commands:
! vtadmin start monitor project <project path>
Resets to zero and starts the monitor and application-level and system-level
performance counters for the project across multiple servers if necessary.
! vtadmin stop monitor project <project path>
Stops the monitor and application-level and system-level performance
counters for the project across multiple servers if necessary.
! vtadmin dump monitor project <project path> <dir path>
Dumps performance counters for all system-level counters for that project into
a file in the specified directory.
The first two commands start and stop the performance counters for the project in
all the Integration servers it is using. They also start and stop the system counters,
such as transaction manager, in the servers. The third command writes the counter
values to files in XML format. When the project is running in multiple servers,
this command will create one file per server. The file names will be the <dir
path>_<server name> for server with the name <server name>.
EXAMPLES
The following examples show the essentials of using the vtadmin utility.
Example: Create a Channel:
This chapter discusses how BusinessWare provides a framework and facilities for
security and user management. Topics include:
! Overview of Organizational Models
! Security Models in BusinessWare
! Directory Server Basics
! Managing Users and Groups
! Administering Access Control
! Federating BusinessWare 4.x Instances
! Secure Communication Using SSL
The basic elements of the organizational model typically include but are not
limited to:
! Users
! Groups
! Roles
! Relationships
Deployers should create an individual role group for every role defined in the
application projects and map the role to the corresponding role group. Mapping
two roles to the same role group is strongly discouraged. After project
deployment, administrators can grant/revoke users or groups to/from a role using
the Application Administration Tool, which essentially manipulates the members
of the role groups.
ROLES
A role is a logical grouping of users that is defined by an application component
provider. A deployer typically maps roles to distinct role groups. Mapping roles
to organizational users and groups is not recommended. See the BusinessWare
Modeling Guide for more information on mapping roles.
RELATIONSHIPS
A relationship forms a named and directional binding that ties one organizational
principal (user or group) to another in the directory server. For example, an
engineering manager has a relationship to a group within the engineering
organization. Relationships are recorded by an attribute (vtrelationshipdef)
in the directory server schema installed by BusinessWare. The objectclass for
relationships is vtrelationships-10 and it is added automatically to the
schema by the API when a relationship is created.
You set up relationships using the Application Administration UI. See the
Application Administration Help for more information. The only currently
defined and supported relationship is BW Manager.
Note: You should create relationships only in organizational groups, not in role
groups.
Essentially, LDAP defines how clients access data on a distributed server. LDAP-
driven access controlwho can see what data and how users are defined to the
systemprovides security for the system, along with naming and directory
services.
LDAP directories store data in Directory Information Trees (DIT), which are
hierarchical data structures. Each node in the tree is called an entry. Entries are
collections of attributes that include DNsstring representations that uniquely
identify users, systems, and organizations. DNs contain both a unique name and a
set of attributes. Table 4-1 shows common LDAP Distinguished Name attributes.
DNs not only uniquely identify a piece of data, but they do so in a way that shows
the relationship of the entry to the rest of the DIT. For example, assume that
Figure 4-1 defines a data tree for your organization.
Figure 4-1
In this case, the DN not only identifies pjohnson, but also provides an overall
organizational map that shows how pjohnson fits into larger hierarchical data
structures.
Note: LDAP provides a consistent view of data, but does not provide
transactions or rollback services.
BASIC USE
In general, any LDAP service provides the following basic operations:
! Connect to the directory server
! Bind to the directory server
! Search the server
! Add a new entry
! Modify an entry
! Delete an entry
! Disconnect from the directory server
For instructions on how to complete these tasks with your directory server, see
your product documentation.
Tip: Back up your directory servers regularly to avoid problems restoring them
in the event of a directory server failure.
Schema Installation
The BusinessWare Installer uses the appropriate schema file (bwschema.xml
for Sun ONE Directory Server, bwschema-ad.xml for Active Directory, and
bwschema-ibmdir.xml for IBM Directory) to install the directory schema.
Once the schema is installed, there will be many new attribute and objectclass
types in the directory service. Many of these attribute and objectclass types carry
the vt (Vitria) prefix. There also may be additional types for Java or CORBA
depending on the directory server you are running.
The object identifiers used for the installed attribute types are of the following
forms:
! 1.3.6.1.4.1.42.2.27.4.1.x for the CORBA and Java types
! 1.3.6.1.4.1.5559.7.1.x for the Vitria vt types
The object identifiers used for the installed objectclass types are of the following
forms:
! 1.3.6.1.4.1.42.2.27.4.2.x for the CORBA and Java types
! 1.3.6.1.4.1.5559.7.2.x for the Vitria vt types.
Note: Object identifiers determine schema type identity. So, if two schema
types have the same human readable name but different object identifiers, they
are different.
Namespace Installation
The Directory Manager account (or installer account for Active Directory) also
installs the namespace. Namespace installation cannot be performed by a
bwadmin account since neither the bwadmin account or BW_ROOT have been
created yet.
After creating the namespace root BW_ROOT, the Installer creates the top-level
containers in the directory. Except for new user and group entries in the directory,
everything that BusinessWare deploys goes in these top-level containers.
BW_ROOT is the top-level container; the other containers are added underneath.
The installer adds BW_ROOT to either the .vtparams file or the VTPARAMS
environment variable.
(The definitions vary depending on which directory server you have installed.)
By default, Active Directory puts both groups and users together in the following
container:
! CN=Users,DC=fabrikam,DC=com
Note: DC=fabrikam,DC=com will be something different for each customer.
Sun ONE Directory Server puts the BusinessWare Administrators group and the
BusinessWare Users group in the Groups container. Active Directory puts both
groups and users in the Users container. By default, there are no existing Users or
Groups containers in IBM Directory. You should create your own containers
similar to the ones described for Sun ONE or Active Directory.
For more information on the use of the adtool at installation time, see the
BusinessWare Installation Guide.
1. Create a user in your directory server to represent the person to the system.
2. Add the user to the appropriate role groups either directly or, even better,
indirectly via organizational groups.
3. Give the role group access rights to those components you want to let the users
in the role group work with.
All the users and groups in BusinessWare use the special object classes (or
schemas), vtuser-11 and vtgroup-10, with BusinessWare-specific attributes
in addition to those defined by the directory server vendors. You must add the
corresponding object class to the existing users and groups who will be accessing
BusinessWare resources and components.
Note: You can use the Application Administration UI to convert non-
BusinessWare users to BusinessWare users. See the Application Administration
Help for more information.
The rights role groups have to a particular resource depend on the level of access
they have been given to that resource. The system defines access levels by
collecting types of rights into the groupings you are most likely to want to give
role groups. You can also give role groups ad hoc access level groupings.
Groups
The attributes for a group are:
! dndistinguished name (a unique name and set of attributes)
! vtgidunique group ID (The group ID should reflect the purpose or use of
the group.)
! cncommon name
! objectclassgroup schema
! descriptiondescription of object
! vtmailemail address
! vtworklisthandlerfull name of the associated Task Manager project
(This attribute should be set only if the group is used as a role group.)
! vtrelationshipdefname of the relationship and the target object of the
relationship
! uniquemembermembers of group
Users
The attributes for a user are:
! dndistinguished name (a unique name and set of attributes)
! uiduser ID
! cncommon name
! snsurname
! vtprincipaluser principal
! objectclassobject schema
! descriptiondescription of object
! mailemail address
! vtworklisthandlerfull name of the associated Task Manager project
(This attribute should not be set for users.)
! vtrelationshipdefname of the relationship and the target object of the
relationship
dn: uid=ysmith,ou=people,o=corp.com
objectclass: top
objectclass: person
objectclass: inetOrgPerson
objectclass: vtuser-11
cn: Ying Smith
sn: Smith
vtprincipal: username:ysmith
vtmail: ysmith@corp.com
vtrelationshipdef: BW Manager:: uid=dsanders, ou=people,
dc=corp.com
description: This is a user.
The above example is based on the assumption that you start out with an empty
directory. However, there are many cases in which you could have a directory
server already installed in your Corporate Directory Server (CDS). Depending on
your control policy, you may or may not be able to change the schema. If it is
impossible to change the schema of the existing user/group class, you need to have
another directory server replicate the needed attributes from your CDS and extend
the schema to support other BusinessWare-specific attributes.
Groups
The attributes for a group are:
! dndistinguished name (a unique name and set of attributes)
! SAMAccountNameunique group ID
! cncommon name
! objectclassobject schema
! descriptiondescription of object
! mailemail address
! vtworklisthandlerfull name of the associated Task Manager project
(This attribute should be set only if the group is used as a role group.)
! vtrelationshipdefname of the relationship and the target object of the
relationship
! membermembers of group
Users
The attributes for a user are:
! dndistinguished name (a unique name and set of attributes)
! SAMAccountNameunique user ID
! userpassworduser password
! cncommon name
! snsurname
! vtprincipaluser principal
! objectclassobject schema
! descriptiondescription of object
! mailemail address
! vtworklisthandlerfull name of the associated Task Manager project
(This attribute should not be set for users.)
! vtrelationshipdefname of the relationship and the target object of the
relationship
As with Sun ONE Directory Server, the above example is based on the assumption
that you start out with an empty directory. However, there are many cases in
which you could have a directory server already installed in your Corporate
Directory Server (CDS). Depending on your control policy, you may or may not
be able to change the schema. If it is impossible to change the schema of the
existing user/group class, you need to have another directory server replicate the
needed attributes from your CDS and extend the schema to support other
BusinessWare-specific attributes.
The user and the group object is modified to extend the vtuser-11 and
vtgroup-10 group objects. Whenever a user or a group is created, the Vitria
properties, such as vtworklisthandler and vtprincipal, can be set up.
(The vtrelationships-10 is added by the API only when a relationship is
created.) Although the attribute vtworklisthandler allows you to associate a
dedicated Task Manager with a role group, you should consider a clustering Task
Manager for better performance and scalability first.
! Ports
Table 4-2 Directory Server Generic Permissions for BusinessWare Components
BusinessWare Directory Server Generic Permissions
Components
READ WRITE Permission on Entry
Permission on
WRITE Permission on vtPermission-
Entry
Admin
BServ Browse Change Static Attrs Start/Stop Serv
Base/Integration Server Browse Change Static Attrs Start/Stop Serv
Communicator Server Browse Change Static Attrs Create Channel/Queue, Stop Serv, Change
Runtime Attributes
Channel Browse, Subscribe Publish, Purge Destroy Channel; Change Runtime Attributes
Queue Browse Attributes, Publish, Purge, Destroy Queue; Change Runtime Attributes
Browse Events Consume Events
Project Browse Change Settings Deploy/Undepoly/Redeploy, Start/Stop
Project
Process Views Browse Change Settings N/A
Port Browse Deploy, Execute N/A
methods on the Port
The permission should be inclusive of right side in the Table 4-2. Checking
WRITE permission on entry should also implicitly check READ permission
on entry and WRITE permission on vtPermission-Admin should also check
the other two permissions.
Before deploying projects to a directory server, vtadmin and the BME need to
check the ADMIN permission (i.e., WRITE permission on vtPermission-
Admin).
This scheme provides simplicity for novice users and finer control for advanced
users:
! A novice BusinessWare user can set READ and WRITE permissions directly
on the entire entry to achieve the access control listed above. The READ
permission lets the user browse and subscribe. The WRITE permission grants
the user all other write and administration rights, such as deploying
projects, changing attributes, starting and stopping servers.
! Advanced users can get finer control of the ADMIN permission, by revoking
the WRITE permission on the vtPermission-Admin attribute so that the user
will not be able to administer the BusinessWare components (starting,
stopping, etc.).
The READ and WRITE permissions here are in generic terms, which may be
mapped to a group rights for specific directory servers. Assign these groups of
rights together when granting READ or WRITE permission. The following table
lists the LDAP native permissions for each of supported directory server.
You need to set permissions using the native GUI, which comes with the directory
server. There is no BusinessWare GUI to support this functionality.
CACHING PERMISSIONS
Checking permissions against the directory server can be a very expensive
operation. To achieve higher performance, some of the BusinessWare Servers,
such as Communicator Servers and Integration Servers, cache permissions.
Therefore, there may be a delay before a change to the native directory access
control takes effect. The VTPARAM ldap_cache_timeout can be used to
configure the number of seconds BusinessWare components will cache LDAP
access control information. By default, BusinessWare servers will cache this
information for 2 to 5 minutes. Increasing this interval will reduce the load on the
LDAP server but increase the time it takes to revoke privileges.
Because these permissions are overwritten every time this project is deployed, you
may add these permissions to the top-level entry in the directory server for all
projects. This entry would be the Projects item in the directory, under which all
the projects are deployed.
The BusinessWare Installer grants Full Permissions for these two role groups
for the BW_ROOT subtree where all the BusinessWare data reside. The Installer
also automatically creates a user (the default name is bwadmin), if it does not
exist, and adds the user to the BusinessWare Administrators role group. This
user is the same as the one specified in the VTPARAMS file for the BusinessWare
Servers and the BME.
The BusinessWare Servers must run as members of BusinessWare
Administrators because BusinessWare Servers need full permissions for the
directory entries under BW_ROOT. Deploying BusinessWare projects to the
directory server operates the same way.
The following is the directory namespace outline for the Sun ONE directory
server after BusinessWare installation:
+
+---People
| +---bwadmin
+---Groups
| +---BusinessWare Administrators [bwadmin as a member]
| +---BusinessWare Users
|
+---<BW_ROOT> [ACI: Full: BusinessWare Administrators]
[ACI: Full: BusinessWare Users]
|
+---Servers
| +---bserv1
+---Projects
| +---BusinessWare
| +---4.2
+---Types
| +------ 4.2
+---Config
Note: The guest user ID is only used if the incoming request does not carry a
user/password. This is always true for RMI requests. However, it is possible to
carry a user/password in an HTTP or Web services request. If that is the case,
normal authentication is used. That is, the container looks for a user/password in
an incoming request. If found, it does normal authentication. If not, it treats the
incoming request as guest.
Hints
! Different directory servers may interpret users without a password differently,
which may cause unexpected permission issues and a potential security breach
when running BusinessWare. Therefore, it is safer always to assign a non-
empty password to a user (i.e., do not leave the password field empty).
! In step 3 for an Sun ONE directory server, make sure the users full DN is
specified. Simply typing in the user name is not sufficient. Use the search
feature to get the full DN.
Setting ACLs is relatively more complex than adding users to a specific group.
It is better to create groups (you may consider them roles) and set ACLs
against these groups, not individual users. In this way, ACLs in the directory
do not need to change frequently. Administrators can easily add or remove
users from a specific group/role. The out-of-the-box BusinessWare
Administrators and BusinessWare Users groups are good examples.
! Script the access control settings.
For production systems, you should use scripts to set all ACLs, instead of
using the directory server consoles manually.
The following instructions show you how to set up federation between two
BusinessWare instances (BW_instance_1 and BW_instance_2) using different
directory servers (ldap1 and ldap2):
1. Create a channel/queue on BW_instance_2 and create an LDAP referral to the
channel/queue in the namespace of BW_instance_1. To avoid confusion, the
referral should have the same common name as the target object. Also, the
current LDAP user on the local LDAP server must exist (with the same
password) on the remote LDAP server and have adequate access rights.
For example, the following entry on ldap1 links to a channel on ldap2:
ldap://ldap1.vitria.com:389/cn=myChannel,cn=myFolde
r,cn=bserv1,cn=Servers,dc=vitria,dc=com
objectclass = referral
ref =
"ldap://ldap2.vitria.com:389/cn=myChannel,cn=bserv1
,cn=Servers,dc=vitria,dc=com"
Once the channel and referral are created, you should be able to check the
channel/queue on BW_instance_1 with vtadmin using the local name:
TERMINOLOGY
The following terms are frequently used when discussing authentication, privacy,
and integrity issues with SSL-based encryption:
! PrincipalSecure systems must know precisely who the participants are in
their communications. A participants identity is called a principal. A
Principal can be a user, a client, a server, or an organizational role. In many
systems, every login name is a principal name and vice versa, but this is not
always the case.
SECURITY OPTIONS
The specifics of hardening a connection depend on which security technology you
chose. BusinessWare supports two options:
! Raw TCPno handshake and no security, used only for TCP/IP
communication (default)
! SSLtypically a full handshake and high security
Raw TCP
TCP is the weakest form of security supported by BusinessWare because there is
no encryption or integrity checksum. You must use TCP security when
communicating with other ORBs because the IIOP standard has no provision for
connection handshakes.
When you use TCP security, BusinessWare typically reports the TCP/IP address
at the other end of the connection, as given by the TCP/IP protocol when asked
for a TCP credential. The exception is when an ORB follows the IIOP requirement
that messages from a client contain the clients DN. In this case, the ORB reports
a credential using the clients DN instead of its TCP/IP address. For example, if a
server asks for the credential of a client, the result might be full:DN, where DN
is the clients Distinguished Name. This lets a server perform access control based
on DN.
In other cases, when the ORB does not have access to a DN, it reports the TCP/IP
address of the other end of the connection. For example, if a client asks for the
credential of a server, the result might be tcp:7000@10.206.130.33. This
indicates that no DN is available and the server is running at port 7000 at IP
address 10.206.130.33.
SSL
SSL can make communication between applications and servers arbitrarily
secure. Understanding how BusinessWare uses SSL to provide Privacy, Integrity,
and Authentication, and their performance implications helps you decide which of
the SSL Security Levels is right for your BusinessWare solution.
Privacy
Encryption ensures the privacy of exchanged messages, but its cost makes
communication substantially more expensive. Encrypted communication is up to
ten times slower than unencrypted communication, because absolutely all data is
encrypted, even message headers. Encrypting all data gives an intruder no access
to information, no matter how unimportant that information appears to be.
Anything less than total encryption exposes the system to a variety of subtle
attacks.
Integrity
Integrity means that messages are transmitted correctly and in order. Integrity
enables the receiver to detect any attempt to tamper with the messages, reorder
them, or resend old ones. BusinessWare implements integrity by putting a
sequence number and appending a cryptographically secure checksum to each
block of data. SSL provides integrity as part of the protocol.
Authentication
BusinessWare uses LDAP for authentication and Access Control Lists (ACL).
Because authentication is done at this level, all messages on a given TCP
connection share the same authentication state. This design concept is consistent
with SSL and Kerberos; most high-security systems follow this principle.
During the connection handshake, a client and server negotiate which cipher they
will use.
IMPORTANT: Do not assume that you have strong security simply because you
are using SSL. You must also choose the right cipher.
Table 4-5 shows the ciphers that BusinessWare supports. These ciphers are not
under United States export control or patent protection.
Note: Export regulations are changing as are patent issues. The list of available
ciphers may change at some later date as may the names of ciphers.
IMPORTANT: Even if you set up BusinessWare for SSL, RMI clients and
servers still communicate using TCP/IP.
Note: To obtain a Server Certificate, you must first generate a private key and
Certificate Signing Request (CSR) pair using utilities such as those available
through OpenSSL. Once the CSR is generated, it must be submitted to a CA to be
signed. Different CAs have different procedures to do this; however, the end
result should be a signed certificate for the Server and CA certificate.
If you specify one or more ciphers, specify them in priority order. The server uses
the first cipher that it has in common with its client. If there is no common cipher
available, communication fails with an error message.
If you do not select a cipher, the participants choose the most secure cipher that
they both have available. Currently the most secure cipher that BusinessWare
Servers have available is DH_DSS_EXPORT_WITH_DES40_CBC_SHA, but it is
not guaranteed that this will be the cipher that the participants share.
Do not change the value of the encryption string unless you are sure that you want
a specific cipher. Its default value, ssl3:, enables BusinessWare and
Communicator to negotiate which cipher to use on a client-by-client basis.
IMPORTANT: You should not use the NULL cipher because it turns off all
security.
Stop and restart the BusinessWare Server using vtadmin or the Web Admin tool
and then check your credential using the following procedure.
Tip: To ensure that the BusinessWare is running in SSL mode, you should
examine the bserv and chanserv logs in $VITRIA/logs directory.
Client Configuration
Each BusinessWare client program needs to do the following to communicate
with BusinessWare using SSL:
1. Obtain the CA certificate and save it in a directory on its machine.
2. Set the ssl_capath parameter in VTPARAMS to point to the CA certificate.
The BME allows modelers to build integration models, which have persistent
state. These integration models have stateful process models, which maintain their
state in Business Process Objects (BPO). The Integration server provides a
persistence service, which uses the O-R tool to persist these objects in relational
databases. When timers are created in process models, they are also persisted in
the database. Activities and tasks in BusinessWare Task Manager projects are also
stored persistently using this service.
Transactional source connectors use the persistence service to keep track of their
state. Source connectors typically keep track of the last event successfully
processed. This ensures that source connectors do not resend the same event twice
in the presence of server crashes.
In summary, the following objects are persisted:
1. Application state
a. BPOs in process models
b. Data Objects (DO)
Objects in categories (1c), (1d), (2), and (3) are considered internal to
BusinessWare and database tables for those objects should modified only with
extreme care. In addition, BusinessWare-specific, that is, noncustomer-specific,
fields of BPOs are also considered internal and should also be modified with
extreme care.
The portion of the table name until the $ sign is the table prefix. The prefix is a
property of the persistence manager that can be set using the BME. The O-R
mapping tool prefixes every internal table (except those in category 1c) with this
prefix.
Note: BPO tables are never prefixed.
If the prefix you set in the persistence manager during deployment is myPrefix,
then the above tables names will be myPrefix$table and myPrefix$column.
For the rest of the chapter, assume that the prefix is set to vitria.
Note: The default setting of the prefix property is the empty string . In that
case, only the persistence managers meta-tables (vitria$table,
vitria$column, vitria$tableid) are prefixed by vitria. The remaining
internal tables are not prefixed.
The physical schema of these tables can be tuned depending on the specific
application. Users can rename these tables, change sizes of various columns, and
apply indexes to various columns. However, they cannot modify the logical
schema.
The transaction manager performs crash recovery when the Integration Server
starts up. It reads all transactions that correspond to the Integration Server, and
drives recovery against those transactions.
The transaction manager has an additional table for obtaining the next unique
service ID for exporting Object Transaction Service (OTS) Coordinator and
Recovery objects. The next available unique ID is stored in a database. The
database has only one row.
CONNECTOR STATE
Source and target connectors may be stateful. One example is the channel source,
which persists the location of the last consumed event. This state is stored in the
database and committed as part of the global transaction that source connector is
participating in.
TIMER TABLES
Timers can be created from within process models as part of the action code in a
given transition. These timers are persisted in the database as part of the global
transaction involving that process model instance.
ActivityRecordData
The table vitria$ActivityRecordData holds all active activity instances
for a model. This table is created when a BPO enters an activity state the very first
time.
Note: The ActivityRecordData table is prefixed. The other tables are BPOs and
DOs and, therefore, not prefixed.
The activity instance (or activity) by itself is a predefined BPO, which later creates
one or multiple task instancesone for each individual performer. Each task
instance or task is another predefined BPO used to record progress made by each
individual performer. Upon completion of an activity, the Task Manager project
notifies the process model component for the original BPO to move on to the next
states. Activities and tasks are stored in the database of the Task Manager project.
The following are some of the tables for Activity instances: Activity,
Activity$dataset.
The following are some of the tables for Task instances: Task,
Task$refDataItems.
The NotificationData table stores the performer notification information for the
activity.
If you do not have any applications using the Repeatable Read, you do not need
to use the next key locking mechanism. You can set the DB2_RR_TO_RS registry
variable on as follows:
db2set DB2_RR_TO_RS=YES
db2 force applications all
db2stop
db2start
The following system privileges are also needed for this database user:
! CREATE TABLE
! CREATE SESSION
! CREATE SEQUENCE
! FORCE TRANSACTION
BusinessWare bundles a Web server and servlet engine for running BusinessWare
Web applications. BusinessWare has two categories of Web server/servlet
engines:
! Admin Web ServerThis is the standalone Web server/servlet engine for
running only the BusinessWare Web Administration applications.
! Web server/servlet engine bundled inside the Integration ServerA Web
server/servlet engine can be started inside every Integration Server for running
the Web components in projects (Web Service proxies or HTTP connectors)
and for running other Vitria Web applications like Business Cockpit and
BusinessWare Task List.
Comment out the regular HTTP connector if you no longer want to it support
HTTP.
This configuration ensures that the Admin Web Server uses BusinessWare
certificates. For more information on how to set up the BusinessWare certificates,
see Secure Communication Using SSL on page 4-25.
LOGGING
The Admin Web Server is configured by default to log to the file
$VITRIA/logs/adminwebserver.log with the trace level set to NORMAL.
This configuration information is specified in the following section of the server
configuration file ($VITRIA/web/adminserver/conf/server.xml):
<Listener className="com.vitria.web.server.WebserverLifecycleListener"
traceout="name=$VITRIA/logs/adminwebserver.log,type=file,binary=false,maxsiz
e=5000000,numbackups=1,flushaftermessage=true,idprefix=false,shorttimeprefix
=true,sourceprefix=false,timeprefix=false,categoryprefix=false,encoding=UTF-
8,threadprefix=true" tracelevel="globaltracelevel=normal"/>
Note: All the output to the standard console and standard error are captured in
this file: $VITRIA/logs/adminwebserverconsole.log.
If the Web server is enabled on the Integration Server, it has a corresponding home
directory on disk. The home directory for any Integration Server would be:
$VITRIA/web/servers/<bserv-name>/<integration-server-
name>
The home directory contains a directory called webapps where all non-project-
based Web applications are loaded by the Web server on startup. All project-based
Web applications are named <projectname>-<projectversion>. For example, the
Web application for RFQSample project with version initial is called
RFQSample-initial. The project-based Web applications are started when the
project is started and stopped when the project is stopped.
Apart from loading Web applications from the home directory every Integration
Server also loads applications in another location:
$VITRIA/web/common/webapps. Any Web application installed here is run
on every Web server-enabled Integration Server that is started on that machine. (If
the Enable Web Server property is turned off, the Web applications are not
started.)
The properties can set via the BusinessWare Web Administration or via the BME
during modeling time.
The supported Web servers in this mode include IIS and Apache.
Note: Pre-built binaries of the redirectors are available for some platforms; you
need to build your own binaries from the source for other platforms.
This document explains the setup process for both Apache and IIS.
worker.java_home=<jdk_location>
For the Apache Web server redirector, this is done by adding the following
directives to the Apache Web server configuration file:
LoadModule jk_module <location_of_the_redirector>
JkWorkersFile <location_of_workers.properties_file>
JkLogFile <log_file_location>
JkLogLevel debug
<servlet>
<servlet-name>
bservlet
</servlet-name>
<display-name>
bservlet
</display-name>
<servlet-class>
com.vitria.bservlet.BServlet
</servlet-class>
<init-param>
<param-name>
id
</param-name>
<param-value>
servlet0
</param-value>
</init-param>
<init-param>
<param-name>
configFile
</param-name>
<param-value>
$VITRIA/data/install/bservlet.xml
</param-value>
</init-param>
<init-param>
<param-name>
secure
</param-name>
<param-value>
false
</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>bservlet</servlet-name>
<url-pattern>*.bws</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
60 <!-- minutes -->
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-
file>external/pages/TasklistGreeting.jsp</welcome-file>
</welcome-file-list>
3. Copy $VITRIA/web/servers/<bserv-
name>/TMServer/webapps/ROOT/WEB-INF/web.xml under
$VITRIA/web/servers/<bserv-name>/<new-integration-
server>/webapps/ROOT/WEB-INF.
Note: The new instance of BusinessWare Task List uses the same
bservlet.xml in which AWI is configured. It is also possible to configure the
new instance of BusinessWare Task List to run on an Integration Server under a
different BusinessWare Server than the default. To access the new instance of
BusinessWare Task List, use this URL (assuming HTTP protocol):
http://<hostname>:<port>/awi where <hostname> is the machine
where the new Integration Server is running and <port> is the port specified in
step 1.
BUSINESS COCKPIT
The Business Cockpit runs as a separate Web application inside the servlet engine.
It is by default installed under the directory
$VITRIA/web/common/webapps/cockpit. All Web applications under this
directory can run inside every Web server-enabled Integration Server running on
the machine.
To run Business Cockpit only on a particular Integration Server (instead
of all Integration Servers):
1. Enable and configure a Web server on the Integration Server; you should use
a special port number.
2. Move $VITRIA/web/common/webapps/cockpit to
$VITRIA/web/servers/<bserv-name>/<integration-server-
name>/webapps.
To access this instance of Business Cockpit, use this URL (assuming HTTP
protocol): http://<hostname>:<port>/cockpit
where <host name> is the machine where the Integration Server is running and
<port> is the port specified in step 1.
WEB ADMINISTRATION
The Web Administration application is a separate Web application and runs under
the Admin Web Server. It is installed in
$VITRIA/web/adminserver/webapps/webadmin.
# Static files
Alias /cockpit <cockpit-location>
# Static files
Alias / <awi-location>
# Static files
Alias /webadmin <webadmin-location>
When users log out of a Vitria Web application, the credential cookie created
during login is removed, requiring users to enter a valid user name and password
the next time they attempt to login. Logging out of one application logs you out
of all applications. If a session times out in an application, but the single sign-on
session has not timed out, the next time you access the application that timed out,
you will not have to log in again.
Note: The Web Admin tool does not currently support single sign-on.
To enable single sign-on for other Web applications, you would make similar
changes to the appropriate application-bservlet.xml file.
By default, Vitria Web applications are not configured for single sign-on.
Note: See Setting Up Web Applications for Single Sign-On on page 6-14 for
information on how to set up Business Cockpit for single sign-on.
COCKPIT LICENSE
Business Cockpit (often referred to simply as Cockpit) requires a separate license.
It is possible to create and deploy process views without a Cockpit license, but
Cockpit users will not be able to access the views. You should confirm that the
Cockpit license exists in the VTlicenses folder.
COCKPIT LOG
Cockpit logging is part of the Integration Server log file. The Integration Server
log file is found in the following location:
$Vitria/logs
By default, the trace level is set at 3 (Normal). Higher trace levels cause more
information to be saved in the log file and increase the log file size. You should
increase the log file size when you select a higher trace level.
COCKPIT SECURITY
Directory server administrators can set access controls on a folder for a collection
of views, or on individual views. Apply the READ permission on the LDAP view
folder node (which all the process views inside that folder will inherit), or on the
individual process view node, or on the Cockpit node, which all the view folders
and views will inherit.
IMPORTANT: Permissions set in the access control list are overwritten when a
project is redeployed.
COCKPIT SERVER
By default, the Cockpit Web application runs inside of all Web-enabled
Integration Servers.
The Cockpit Web application is installed by the BusinessWare installer under the
$VITRIA/web/common/webapps/cockpit directory. Any Web
applications under $VITRIA/web/common/webapps run inside all Web-
enabled Integration Servers.
If you only want a specific Integration Server to run Cockpit, you can move the
cockpit directory from $VITRIA/web/common/webapps to
$VITRIA/web/servers/bserv-name/integration-server-
name/webapps and only that Integration Server will run the Cockpit Web
application. You can copy the cockpit directory under multiple Integration
Servers so that only those Integration Servers will run the Cockpit Web
application.
The following code determines whether SSO is used and specifies the location
of the SSO configuration file:
<SSO configFile="$VITRIA/data/install/sso-
config.xml"/>
Uncomment this line to enable SSO for Cockpit. See Setting Up Web
Applications for Single Sign-On on page 6-14 for more information.
Modifying cockpit-bservlet.xml
The Cockpit locale is specified in cockpit-bservlet.xml.
To modify cockpit-bservlet.xml:
1. Navigate to $VITRIA/data/install and open cockpit-
bservlet.xml.
2. Name your new locale. For example, if you create a locale for Swiss French,
you could name it fr_CH.
3. Set the value of cockpit.resource.locale to the locale that you
created.
For example:
<Property name="cockpit.resource.locale"
value="fr_CH" />
4. Set the value of cockpit.encoding.applyCharset to true.
For example:
<Property name="cockpit.encoding.applyCharset"
value="true" />
Creating CockpitResources_<name>.properties
To create a new CockpitResources_<name>.properties file:
1. Navigate to $VITRIA/java/local.
2. Create a copy of CockpitResources.properties in the same directory.
3. Rename the file to CockpitResources_<name>.properties, where
<name> is the name of the locale that you specified in cockpit-
bservlet.xml.
For example:
CockpitResources_fr_CH.properties
4. Open the file and do the following:
a. Replace all resource strings with the equivalent value in the language you
specified.
For example, replace login.userName=User Name with
login.userName=Nom d'utilisateur.
Special characters such as " must be HTML encoded when the resource is
rendered by a browser.
For example, " must be encoded as ".
b. Set the value of resources.locale to the same value that you
specified for cockpit.resource.locale in cockpit-
bservlet.xml.
For example:
resources.locale=fr_CH
5. Save the new file in Unicode.
a. Run native2ascii. This utility comes with the JDK utility.
b. Place the file in $VITRIA/java/local.
Channels are the only means by which you can interoperate between
BusinessWare 4.x and BusinessWare 3.x. You can administer BusinessWare 3.x
channels through the Web Administration Tool or vtadmin. The channels are
wire-compatible, which means you can publish and subscribe to the channels from
either side.
For information on using the Web Administration Tool, see Chapter 2, Using the
Web Administration Tool or the BusinessWare Administration Help. For
information on using vtadmin, see Chapter 3, Using the Command-Line
Administration Tool.
7. Click OK.
You also need to add an attribute to the cn=Config entry in your BusinessWare
Servers root directory to set a password for all BusinessWare 3.x users
(vtbw3password). You can set this password directly in Active Directory or by
using the BusinessWare Web Administration tool. See Setting
vtbw3password Using the Web Administration Tool on page 8-4.
To set vtbw3password in Active Directory:
1. Select the root of your BusinessWare Server.
2. Right-click to bring up the Properties menu and click Select a property to
view.
3. Select vtbw3password.
4. In the Edit Attribute field, enter the value for the password.
5. Click Apply.
6. Click OK.
EXAMPLE
In this example, your identification is johndoe in BusinessWare 3.x and your
identification is uid=johndoe,cn=People,cn=Company in
BusinessWare 4.x. When BusinessWare 3.x user johndoe publishes to
BusinessWare 4.xs channel from BusinessWare 3.x, the Communicator Server
needs a BusinessWare 4.x user and password for authentication. It maps
johndoe to uid=johndoe,cn=People,cn=Company by searching the
directory server for a user whose vtprincipal attribute is
username:johndoe. The server then uses the value of vtbw3password as the
password for authenticating this user. The user's password must match the value
in vtbw3password.
Note: The value of vtbw3password is set to guest by default when you
install BusinessWare.
If another BusinessWare 3.x user named jane wants to publish to
BusinessWare 4.x, then her user entry in the directory server must have the same
password as that set in vtbw3password. In effect, this is a global password for
all users who want to interoperate.
After vtprincipal and vtbw3password are set up, you are ready to publish
and subscribe from BusinessWare 3.x to BusinessWare 4.x. To reference
BusinessWare 4.x channels from BusinessWare 3.x, refer to your
BusinessWare 3.x documentation on creating shortcuts.
6. The recommended way to federate channels is to put all the channels in one
project and then turn that into a dependent project that other projects can
reference. So after you create all the channel shortcuts you want, create a
deployment configuration.
Rename this deployment configuration to BW317ChannelConfig instead of
DeploymentConfiguration.
7. In the deployment configuration, partition the project and deploy it.
By default, the project is deployed both to a file and to your directory server.
The Output window displays the status of your deployment. It may look like
this:
Figure 8-1
4. Click on the Channel Resource and the Channel chooser panel should
display all the shortcuts created in your project. You can set the channel
resource to any one of the shortcuts (Figure 8-2.).
Figure 8-2
5. To test whether this setup is working correctly, create a Model (Figure 8-3).
Figure 8-3
Now if you publish an event on BusinessWare 3.x to channel Basic1, this Event
is seen going through your BusinessWare 4.x process model. Then this Event is
passed back out to BusinessWare 3.xs Basic2 Channel, and both Events are
caught by BusinessWare 3.xs Composite and Replica Channels.
TROUBLESHOOTING
The following sections describe how to work around problems that may arise in
federating your servers.
Network Failures
Sometimes you may fail to connect to your BusinessWare 3.x system because of
network failures. If this happens, you may see a message similar to the following:
Example:
At this point, BusinessWare 3.x servers and applications should be able to use the
shortcut to create publishers and subscribers to the target channel or channels
under the target folder on the BusinessWare 4.x server.
Note: The BusinessWare 3.x console will not see updates to a BusinessWare 4.x
namespace. Thus, if you create a shortcut to a folder in the BusinessWare 4.x
namespace and then create a channel in the BusinessWare 4.x namespace under
that folder, you will need to restart the BusinessWare 3.x console to see the
BusinessWare 4.x channel. You may also see exceptions being thrown in the
BusinessWare 4.x server log while viewing its namespace from a
BusinessWare 3.x consolethese exceptions are caused by attempts to view
objects that are specific to BusinessWare 4.x and are harmless.
BACKUP BASICS
Most BusinessWare sites perform backups daily. To minimize the amount of data
you have to re-enter and re-process after restoring from a backup, you should also
consider backing up after making important or extensive changes.
For the ultimate in backup protection, make a complete offline backup after
testing, configuring, and initial deploying of your BusinessWare system but just
before starting the servers. Back up your application definitions and system
definitions and all of the communicator .dat files. Be sure to purge all events
from your channnels and queues backing up your communicator .dat files.
Make sure not to backup database tables or runtime events as these will
compromise your baseline backup. See the subsequent sections of this chapter for
more information on how to perform these backups.
You should back up Design Time data, such as Project files, once when you have
deployed the system and only afterwards if you make changes to the deployment.
On the other hand, you should back up runtime data, such as the directory server
and the .dat files, frequently as runtime data, by definition, changes over time.
This produces a set of baseline backup files whose known integrity might be
useful in an extreme case, for example, if the normal backup files somehow
become corrupted.
Note: Obtain a snapshot when the system is shut down. Otherwise, backups
across multiple Communicator Servers and databases may be inconsistent.
WHAT TO BACK UP
The BusinessWare components read and write the following files and database
tables, which you should back up:
You should back up data stored in a directory server using tools native to the
directory sever you have chosen to implement. For more information, refer to the
administration guide for your directory server.
You can back up and restore directory server data either via LDAP native database
or the directory subtree. If you choose to back up data from the subtree, make sure
to back up the following:
1. The directory subtree under BWROOT (including the root), which includes
information for namespace, servers, projects metadata and configuration, etc.
2. Users data under LDAP_USERS.
3. Groups data under LDAP_GROUP.
IMPORTANT: Although the directory server schema data files generally do not
need to be backed up because you can always restore them from the XML files
that Vitria provides, you should back up your
config/schema/99user.ldif file. You can then reinstall this file in case of
directory server failure.
For more information on the database tables created and used by BusinessWare,
see Chapter 5, Administering Databases.
BACKUP OPERATIONS
When you perform a backup, the entire system spanning multiple Integration
Servers and Communicator Servers must either be quiescent (i.e., no events
flowing through the system, no deployment or administrative operations ongoing)
or shut down. Otherwise, the individual Communicator Server .dat, .wal and
database backups will not be consistent.
RESTORING FILES
This section describes how to restore files from your backups.
RESTORATION OPERATIONS
When you restore a backup, the entire system spanning multiple Integration
Servers and Communicator Servers must either be quiescent (i.e., no events
flowing through the system, not deployment or administrative operations
ongoing) or shut down. Otherwise, the individual Communicator Server .dat,
.wal and database backups will not be consistent.
The following suggestions and considerations will help you make the best use of
chancheck.
! When you run chancheck on the Communicator Server .dat and .wal files,
run it on a copy and not on your originals.
! Never move a .wal file without moving its associated .dat file.
! The .wal file is married to the .dat file. It is not possible to delete a .wal file
and leave the .dat file in a valid state. If you delete the .wal file and try to
start BusinessWare, the .dat file will be corrupted and need to be discarded.
! If a .dat file becomes corrupted, it is unlikely that you will be able to continue
running off that .dat/.wal file ever again.
! Do not delete the .wal file for any reason even if you believe it to be empty.
This chapter lists and describes various command-line tools that are included with
BusinessWare:
! chancheck
! cschemagen
! cstubgen and jstubgen
! dtdtotype
! hidepwd
! importfrom3x
! importfrom41x
! logchanview
! registeraction
! rescomp
! showxport
! startadminwebserver
! startservs
! stopadminwebserver
! stopservs
! vtadmin
chancheck
The chancheck utility is used to compact the Communicator Server .dat file
and to repair errors. The chancheck utility parses the Communicator Servers
data file (datfile, or .dat file) to detect unused portions and then writes a copy of
the original .dat files required data structures to a new file, without the unused
spaces. The chancheck utility is useful if disk space is scarce, since the
Communicator Servers .dat file does not shrink, even if events are purged from
the channel. Once the.dat file has reached a certain size, it never gets smaller,
even if most of the space in the file is not actively used. As BusinessWare keeps
track of free space in the data file, this space can be reused.
The chancheck utility is also useful in the situation where you have copied the
chanservs .dat file, but not the .wal file, resulting in a corrupted .dat file. To
remedy the situation, run chancheck with the -k option against the
Communicator Server .dat file. The majority of events will be recovered (you
may lose a few), and you will be back in a running state.
SYNTAX
chancheck [d datfile] [w walfile] [k]
Options
-d datfile
Name of the Communicator Server data file (.dat file) to operate on. If this
option is not used, chancheck reads in chanserv1_v4.dat.
-w walfile
Name of the Communicator Server write-ahead data file (.wal file) to operate
on. If this option is not used, chancheck reads in chanserv1_v4.wal.
k
Keep trying to read the data file despite errors.
Commands
Once chancheck is started from the command line, and reads in the relevant
.dat file, you may pass it the following commands
EXAMPLE USAGE
To compact your second Communicator Servers .dat file:
1. Stop the BusinessWare service.
2. In the installdir/data directory:
a. Execute the command:
chancheck -d chanserv2_v4.dat -w chanserv2_v4.wal
b. Observe the response:
Scanning object list ... Scan complete.
c. Execute the command:
write ctemp.dat
d. Observe the response:
Wrote Object manager block...
cschemagen
The cschemagen utility creates the metadata initialization tables required for
remote method invocations. Every class that can be sent or received using the
Object Request Broker (ORB) must have helper functions to allow the ORB to
marshal and unmarshal each class. In Java, these classes are defined by the
Common Object Request Broker Architecture (CORBA) specification. In C++,
they are vendor-specific in their implementation details.
SYNTAX
cschemagen [options] input-file
Options
-out
Specifies the output file name. By default, the standard output is the output.
SYNTAX
cstubgen [options] input-file
Options
-accept odl
Specifies the input parsing should allow ODMG ODL constructs.
-file input-file
Generate code only for definitions in the specified file and do not generate any
outputs for included definitions (that is, using #include directives). This option
should be used only on an input file that has been passed through a C or C++
preprocessor. For example, on Windows 2000:
set CCCP_FLAGS= -DWIN32 -D_CONSOLE -D_AFXDLL -D_MBCS
-D_MT -I. -I%VITRIA%\include -I%VITRIA%\interdef
cccp %CCCP_FLAGS% inout.idl inout.i
jstubgen -file inout.idl inout.i
input-file must match exactly the #line directives (as a result of
preprocessing) in the input file. In the above example, this means inout.idl
must match a #line directive in the file inout.i.
-outdir output-directory
Specifies the top level output directory for generated files. By default,
generated files are placed in the same directory as the input files.
#if !defined(_MyPackage_dll)
#if defined(_WIN32) && !defined(_PROFILE)
#if defined(_MyPackage_mak)
#define _MyPackage_DLL __declspec(dllexport)
#else
#define _MyPackage_DLL __declspec(dllimport)
#endif
#else
#define _MyPackage_DLL /**/
#endif
#endif
In addition, the generated code will have the word _MyPackage_DLL placed
before every extern declaration and class definition. When compiling a
dynamic-linked library that includes the generated code, the macro
_MyPackage_mak will have to be defined.
-verbose
Shows diagnostics to aid debugging.
OUTPUT FILES
For each input file with a base name fname, cstubgen produces two output files:
fname.h and Sfname.cxx. The fname.h file must be processed by
cschemagen. Applications will need to include the generated header file at
compile time, and link the stub file at link time.
jstubgen produces a separate Java class (and hence, a separate file) for each
module, interface, and type definition in the input file. A module definition in the
input will cause a separate directory to be created; all the classes generated for
definitions within the module will be placed inside the directory.
Outputs generated from module level constants are placed in a Java file whose
name is _module in the module directory.
Each interface definition will cause the generation of two Java files. The first file
(with no underscores in its name) contains a Java interface definition, intended to
be implemented by concrete Java classes. The second generated file (with a
leading underscore in its name) contains the client stub implementation.
For type definitions in modules and interfaces such as structs, one Java class
(hence, one file) will be generated per definition. The name of the generated file
will match the name of the corresponding definition.
To illustrate the Java files generated by the compiler, consider the following
definitions:
module A {
struct B {
char x;
};
interface C {
exception D { };
enum E { zero, one, two };
};
};
The compiler will generate the following Java files in the following directories:
A\B.java
BHelper.java
BHolder.java
C.java
CHelper.java
CHolder.java
_C.java
_module.java
A\CPackage\D.java
DHelper.java
DHolder.java
E.java
EHelper.java
EHolder.java
dtdtotype
The dtdtotype utility converts a Document Type Definition (DTD) file to a
DefinedType file. Such files, which should be part of a BusinessWare project, are
used by the BusinessWare Modeling Environment (BME). In most cases, you
should use the Import Types command in the BME to create Types. However, the
-event, -noevent, and -allevent flags enable dtdtotype to perform functions that the
BME Import Types command cannot.
SYNTAX
dtdtotype [options]
Options
-out filename (required)
Specifies the name of the DefinedType file
-event elementname[,elementname,elementname,...]
Generates events for the specified element or elements only.
-noevents
Do not automatically generate events for all elements.
-allevents
Automatically generates events for all elements.
-dtd filename
-xml filename
Specifies the name of the Extensible Markup Language (XML) document that
determines the System Identifier and/or Public Identifier to be used. In this
case, this tool generates a single event for one element, the name of which is
given in the XML document's doctype element.
Note: If you specify this flag but not the -dtd flag, this tool will use the
System Identifier in the XML document to find the DTD.
-system systemID
Specifies a System Identifier to be associated with the event or events.
hidepwd
The hidepwd utility creates an obfuscated version of your LDAP user account
password. You can paste the output of this tool into the appropriate location within
your .vtparams file to deter unauthorized users from gaining access to your
BusinessWare installation. Though your password has been obfuscated,
BusinessWare is still able to recover the original password, and you can continue
logging into your LDAP user account using the same password.
SYNTAX
hidepwd LDAPUserPassword
EXAMPLE
The following is an example for using hidepwd.
Assume that your LDAP user account password is wound$example. This means
that your .vtparams file looks something like the lines below:
BWROOT="ldap://ldap1.vitria.com/cn=abc,o=vitria.com"
auth_userdn="uid=alex,ou=People,o=vitria.com"
auth_password="wound$example"ldap_users="ou=People,
o=vitria.com"ldap_groups="ou=Groups,o=vitria.com"
To hide your LDAP user account password, substitute the output of the hidepwd
command (including the < and > characters) for the original password
(including the quote marks) as shown below, then save the result.
BWROOT="ldap://ldap1.vitria.com/cn=abc,o=vitria.com"
auth_userdn="uid=John,ou=People,o=vitria.com"
auth_password=<YT1cAMABMD6AEglFB9iljur@Ub41Z6fddAzyKa>
ldap_users="ou=People,o=vitria.com"ldap_groups="
ou=Groups,o=vitria.com"
In the future, you will still be able to log onto your LDAP user account using the
password wound$example.
Note: This tool adds randomization when it executes, meaning that it never
gives the same output twice, even for the same password.
importfrom3x
The importfrom3x utility imports runtime data migrated from BusinessWare
3.x during migration. Runtime data is generated by running exportto4x against
a BusinessWare 3.x server. There are two XML configuration files, import.xml
and params.xml related to this tool. Those two files are under
%VITRIA%\data\migration for Windows or $VITRIA/data/migration
for Unix. Before you run this tool, you need to modify params.xml and run
Tools > Migrate BW 3.x Application from the BME . For more information,
refer to the BusinessWare Migration Guide.
SYNTAX
importfrom3x
importfrom41x
importfrom41x imports runtime data migrated from BusinessWare 4.1.x
during migration. For more information, refer to the BusinessWare Migration
Guide.
SYNTAX
importfrom41x
logchanview
The logchanview utility is a command-line utility that displays BusinessWare
logging messages from channels. The output appears on stdout by default.
SYNTAX
logchanview [options] <channel>
Options
-o <spec>
Output specification to redirect output from the utility.
For example:
logchanview -o "type=channel,name=xxx" xxx
See Diagnostic Output Specification on page B-2 for more information on
the options for specifying an output file.
-b <name>
Extra resource bundle.
-e
Start viewing events from the end of the channel, that is, the latest events.
registeraction
The registeraction utility registers new action or translator (SDT) classes so
that the BME can display the methods they contain. After registration, the classes
and methods are visible in the BMEs Action Builder and the Code Helper. Run
registeraction after creating a new class that contains custom translation
methods for use in process models. If you add methods to the class, they will be
picked up after you restart the BME.
Note: Only public static methods of the class are available in the Action
Builder.
SYNTAX
registeraction [options] class-name1 class-name2...
Options
-a class-name1 class-name2...
Registers new action classes and methods; these classes and methods will then
be displayed in the BME.
-d class-name1 class-name2...
Removes specified action classes from the registry; they will no longer appear
in the BME.
-p
Prints all registered action classes.
rescomp
The rescomp utility compiles resource files into Java and C++ stubs. To create a
resource bundle in C++, use this tool to create C++ stubs, then compile them and
link them into a shared library.
The value of target depends upon whether you are creating Java or C++ stubs. See
Specifying the Target, for details.
SYNTAX
rescomp [-chj] [-p packagename] resourcefile target
Options
-c
Specifies that C++ stubs are to be generated.
-h
Specifies that C++ headers are to be generated.
-j
Specifies that Java stubs are to be generated.
Note: Only one of the above three options can be used at a time.
-p identifier
For Java, identifier specifies the package into which the Java stubs will be
generated. For C++, identifier is the C++ symbolic identifier for the DLL.
When you use rescomp to create Java stubs, it generates one Java class file for
each module in the input file. The location of these files is determined by the value
of target and by the package name given by the -p option.
The name of each class generated is given by the name of the module in the input
file followed by the string Messages.
The target argument is interpreted as a pathname from which to start, with the
period character (.) indicating the current directory. At this starting location,
rescomp generates a Java-style set of nested directories that correspond to the
reverse package name. rescomp then places the generated class file or files in
this location.
Example
Suppose you have a resource file named testres.txt, and it contains a module
named MyApplication. Assume also that you want the generated stubs to belong
to the package com.vitria.testpackage, and that the folders containing the single
stub file MyApplicationMessages.java should be located in the directory
c:\aaa1. The command that causes this to happen is:
rescomp -j -p com.vitria.testpackage testres.txt
c:\aaa1
showxport
The showxport utility displays information about your current configuration of
your machine, including transport information, local IP addresses, and the
contents of the .vtparams file. This tool is used to diagnose communication
problems and verify the contents of .vtparams.
SYNTAX
showxport
EXAMPLE
The following shows a sample output for showxport:
Parameter
BWROOT=[ldap://mammoth:389/cn=JJones,dc=vitria.com]
Parameter auth_user=[uid=JJones,ou=people,dc=vitria.com]
Parameter auth_pass=[******]
Parameter ldap_gr=[ou=Groups,dc=vitria.com]
Parameter ldap_us=[ou=People,dc=vitria.com]
Parameter lic_directory=[C:\home\john\licdir]
startadminwebserver
The startadminwebserver utility starts the Web server that hosts several
BusinessWare Web applications (Unix only).
SYNTAX
startadminwebserver
Options
None
startservs
The startservs utility starts and configures the BusinessWare Server (Unix
only).
SYNTAX
startservs [-l] [<server_name>] [-h]
Options
-l
Lists all the BusinessWare Servers.
server_name
Starts the specified BusinessWare Server.
-h
Shows the usage message.
stopadminwebserver
The stopadminwebserver utility stops the Web server that hosts several
BusinessWare Web applications (Unix only).
SYNTAX
stopadminwebserver
Options
None
stopservs
The stopservs utility stops the BusinessWare Server (Unix only).
SYNTAX
stopservs [-l] [<server_name>] [-h]
Options
-l
Lists all the BusinessWare Servers.
server_name
Stops the specified BusinessWare Server.
-h
Shows the usage message.
vtadmin
System administration tool for manipulating channels, servers, and other objects
in BusinessWare. See Chapter 3, Using the Command-Line Administration
Tool, for details.
This appendix lists the environment variables and registry items that configure
BusinessWare.
ENVIRONMENT VARIABLES
Environment variables are organized in the following categories:
! Vitria variablesenvironment variables specific to BusinessWare
! Additional variablesadditional environment variables required for C++
application development
! BusinessWare 3.x variablesdeprecated BusinessWare 3.x environment
variables that will continue to work in BusinessWare 4.2.1.
VTPARAMS
VTPARAMS is meant to describe all transport and communication parameters that
must be known before a process can communicate with the directory server.
Syntax Description
The VTPARAMS syntax is as follows:
name=value, name=value, name=value, ...
where the value may be enclosed in quotes (single or double quotes), semi-colons
may be used in place of commas, and extra white space is ignored.
Parameter Files
Since the value of VTPARAMS can become long and difficult to manage,
BusinessWare supports the use of parameter files (recommended). This feature
eases administration by allowing the user to put all parameters into one file and
direct every process to that file. The following is a sample VTPARAMS parameter
file:
file="installdir\.vtparams"
BWROOT="ldap://ldapservername.VITRIA.com:389/cn=computername
_bw,dc=VITRIA",
auth_userdn="uid=username,ou=People,dc=VITRIA",
auth_password="userpassword",
lic_directory="C:\VTlicenses",
ldap_groups="ou=Groups,dc=VITRIA",
ldap_users="ou=People,dc=VITRIA"
Optionally, BusinessWare can read from multiple files or you can specify some
parameters in VTPARAMS and some in a parameter file as the following code same
shows.
file="\Program Files\installdir\.vtparams",
file="C:/users/username/.vtparams",
auth_userdn="username", auth_password="password"
Note: If the same variable parameter is used multiple times, the last setting of
the variable has precedence.
IMPORTANT: You should use parameter files, not the VTPARAMS environment
variable, to define parameters. Use the VTPARAMS environment variable only to
point to the parameter file and to override specified file parameters.
Figure 1-1
ADDITIONAL VARIABLES
Table A-3 describes the additional environment variables required for C++
application development.
! VT_HOST_ALIAS
SYSTEM FILES
There are three types of system files used by Communicator Servers:
! Diagnostic fileprovides diagnostic information. The amount of diagnostic
information is configurable.
! Write-ahead log fileprovides transactional consistency in case the system
fails. Data lives in the write-ahead log for a short period of time before it is
written out to the data (.dat) file.
! Data fileacts as the persistent store of the server; destroying this file
destroys the servers persistent store (for example, namespace bindings or
guaranteed events).
IMPORTANT: Do not delete the write-ahead log. Data can remain in the
write-ahead log for a long time. Never assume that the write-ahead log is empty.
Note: System files cannot be shared among server instances; each instance of
BusinessWare Server and Communicator Server has its own set of system files.
The files for each instance of Communicator Server are named and differentiated
according to the naming convention provided in Table A-5. The variable instance
refers to the server instance number and version refers to the BusinessWare
version number.
System files are created when a server is started, if they do not already exist. The
files of different server instances should be in different directories, or if they are
in the same directory, they must have different names.
For best performance, locate .wal and .dat files in different directories, or
preferably, locate each file on its own disk. For added insurance against data loss
in the case of hardware failure, keep the .dat file on a RAID (Redundant Array
of Independent Disks) disk. If .dat and .wal files are in the same directory, they
must have different names.
By default, the data (.dat) and write-ahead log (.wal) files are placed in the
installdir/data directory, where installdir indicates your system installation
directory. Diagnostic (.log) files are placed in the installdir/logs directory.
Note: The Communicator Server .dat file can grow very large as the server
stores a large number of events. The file can be periodically compacted to save
disk space. See chancheck on page 10-2.
To reconfigure BusinessWare:
1. Go to the Windows Control Panel and start Add/Remove Programs.
2. From the displayed list, select BusinessWare.
3. Click Change/Remove.
4. Select Reconfigure BusinessWare.
IMPORTANT: Do not delete the write-ahead log. Data can remain in the
write-ahead log for a long time. Never assume that the write-ahead log is empty.
Note: System files cannot be shared among server instances; each instance of
the Communicator Server has its own set of system files.
This appendix describes the various log files created by BusinessWare. Only a
subset of these log files may be present in your BusinessWare installation at any
time, depending on which BusinessWare components are being used.
GENERAL SYNTAX
Diagnostic specification strings consist of a sequence of key-value pairs of the
general form:
key=value, key=value, ... ,key=value
For example, if you are configuring the BusinessWare Server diagnostic output on
a Unix system using the startservs script, edit the BServMain -o parameter
in the startservs script to be:
type=value, name=value
The following table lists the allowed entries for key and value to configure
diagnostic output.
Table B-2 Allowed Values for Diagnostic Output Specification String (Continued)
Entry Allowed for Key Description Entries Allowed for Value
binary Boolean indicating whether the output is true, false
binary (language neutral) or text (human The default value is false.
readable).
The binary key is only enabled if the type key
is set to file.
sourceprefix Boolean indicating whether diagnostic true, false
messages should be prefixed with their source The default value is true.
module identifier.
The sourceprefix key is only enabled if the
binary key is set to false and the type key
is set to file.
idprefix Boolean indicating whether diagnostic true, false
messages should be prefixed with their symbol The default value is false.
name.
The idprefix key is only enabled if the binary
key is set to false and the type key is set to
file.
timeprefix Boolean indicating whether diagnostic true, false
messages should be prefixed with their long The default value is false.
timestamp.
The timeprefix key is only enabled if the
binary key is set to false and the type key
is set to file.
shorttimeprefix Boolean indicating whether diagnostic true, false
messages should be prefixed with their short The default value is true.
timestamp.
The shorttimeprefix key is only enabled if the
binary key is set to false and the type key
is set to file.
categoryprefix Prints the category used to define the message. true, false
The default value is false.
threadprefix Prints the ID of the thread that created the true, false
message. The default value is false.
encoding Specifies the type of character encoding used. The default value is UTF-8.
EXAMPLE USAGE
The following are examples of how to set the diagnostic output specification:
! type=file, name=/temp/abc.txt, maxsize=1m,
sourceprefix=false
! type=file, name=/temp/abc.txt, max=1m, source=false
! type=channel, name=diagchans/chan1
! name=Program Files\Vitria\log\chanlog.bin,
numbackups=6, flushaftermessage=false,binary=true
! name=console
CONCATENATION
Output can be sent to multiple destinations by using the + sign to combine
specifications. For example:
type=channel, name=chanlist/mychan + type=file,
name=filelist/myfile
OVERVIEW
During the development of a BusinessWare project, it is usually necessary to build
and deploy the project multiple times during testing and debugging. In addition,
there may be times when you must redeploy in a production environment. To
enhance the reliability and the reproducability of your deployments,
BusinessWare includes a command-line script that automates the build and
deployment process. The features and functions of this script are collectively
referred to as the Scriptable BME. The following sections describe how to
configure and use the Scriptable BME.
The commandfile specifies the file in which the commands are defined for your
specific deployment. It is interpreted line by line. Blank lines and lines beginning
with a semicolon (;) or hash (#) are considered comments. Whitespace is ignored,
and double quotes can be used to deliminate strings containing spaces.
For example:
# open the RFQSample project at the specified location
openproject name=RFQSample
location=$VITRIA/scriptable/project
MapImportMountPoint="$VITRIA/samples/modeling/RFQSampl
e/project=$VITRIA/scriptable/project"
# deploy the project
deployproject todirectoryserver=true
# export the project to $VITRIA/test.jar
exportproject location=$VITRIA/test.jar
The contents of the command file are validated before it is executed, and any
unrecognized command or parameter terminates the processing of the file. If
terminated, a non-zero error code is displayed in the command window that
invoked the script. Progress and warning messages are also displayed in the
command window. After successful completion of all the listed commands, the
script returns error code zero.
OpenProject
The OpenProject command creates and activates a new project specified by
parameters listed in the command file. If a project file already exists in the
specified location, the existing project properties (for example, project settings,
project parameters, mountpoints, and services) are applied to the new project.
The OpenProject command must specify values for the following two required
parameters:
! Namethe name of the the new project
! Locationthe location of the new project directory
For example, if the name of the project is myproject and the location is
F:/common/projects/myproject, at the command prompt, you would enter the
following:
OpenProject name=myproject
location=F:/common/projects/myproject
In addition to the two required parameters, you can also specify the following
optional parameter:
! MapImportMountPointoptional. Maps the current import mountpoints
to the supplied one. Multiple mountpoint maps can be specified separated by
commas. The option value must be enclosed in double quotes.
This is used to map a current import mount point to a new one. Typically, the
import mountpoint specified in a project is expanded and used when a project
import is done on a project jar. The import mountpoint is used by the scriptable
BME to set the mountpoints of a project when an OpenProject command is
invoked on a location that already contains a project. For example, suppose the
mountpoints in the .project file of an existing project is:
If a Project > New is done using BME, the import mountpoint will be
expanded and presented to be edited in the mountpoint dialog where the
mountpoint settings are shown as follows, assuming $VITRIA expands to
C:/jedi/export.
Using the BME, this can be fixed to be the correct mountpoint; for example,
C:/jedi/export can be modified to F:/jedi. But if OpenProject is
invoked in the same directory using scriptable BME, it will fail because the
user cannot modify the project mountpoint using a dialog.
To overcome this problem, the option MapImportMountPoint can be used
as follows:
OpenProject name=foo location=F:/jedi/projects/foo
MapImportMountPoint=$VITRIA/projects/foo=
F:/jedi/projects/foo
If the current Import Mountpoint in the .project file is
$VITRIA/projects/foo, then it will be replaced by
F:/jedi/projects/foo, and this is expanded. You could specify
$WS/projects/foo instead of F:/jedi/projects/foo and
bmescript will use the resolved result; for example,
F:/jedi/projects/foo if $WS resolves to F:/jedi, as the import
mountpoint.
Note: The location value and the import mountpoint value when the
import mountpoint represents the project root directory has to be the
same. In the above example, the location is F:/jedi/projects/foo.
If you have also mounted Z: pointing to F:/jedi/ and you specify the
import mountpoint map as
MapImportMountPoint=$VITRIA/projects/foo=
Z:/projects/foo, the new project infrastructure will mount the
directory specified by location option as the project root directory, which
is F:/jedi/projects/foo, and then will also mount
Z:/projects/foo since it does not know that Z points to F:/jedi.
You will have the same directory mounted twice which may result in
errors during your build.
DeployProject
The DeployProject command deploys the currently active project.
You can specify the following optional parameters:
ExportProject
The ExportProject command exports the currently active project.
InstallProjectModule
The InstallPorjectModule command installs the specified project so that it
can be used as a dependency by other projects.
T
V
table names for BPOs 5-2
tables, timer 5-4 vtadmin 1-2, 3-1
tasks and activities of workflow 5-4
TCO 4-27 W
timer tables 5-4
transaction ID map 5-4 Web Administration Tool 1-2, 2-1
transaction manager state 5-3 Web servers 1-1
troubleshooting and tips 11-1 workflow
tasks and activities 5-4
write-ahead log file A-5
U
users and groups