Overview
IPF Manager is an Eclipse RCP application for managing IPF services and applications. In its current state it provides a flow management user interface and a general-purpose JMX client. Upcoming releases will provide additional user interfaces for managing IPF instances.
| Usage example For an IPF Manager usage example refer to the IPF reference application. |
Download and Installation
The IPF Manager can be used stand-alone, or installed as an Eclipse update.
Standalone Binaries
To use the standalone IPF Manager, you must download IPF manager-version.qualifier-win32.win32.x86.zip (Windows) or IPF manager-version.qualifier-linux.gtk.x86.zip (Linux) from one of the following two URLs ( for development and release), where version.qualifier is the version (with qualifier) of the IPF Manager.
| IPF Manager Version | Resource | Description |
|---|---|---|
| 2.1.1 | http://repo.openehealth.org/sites/ipf-tools/manager/products/releases/latest/ | Contains the latest standalone binaries of IPF Manager (currently 2.1.1) |
| 2.x.x.SNAPSHOT | http://repo.openehealth.org/sites/ipf-tools/manager/products/development | Contains the latest development (snapshot) standalone binaries of IPF Manager |
Eclipse Update Site
IPF Manager can also be used in an existing Eclipse instance. To achieve this, you must first install the IPF Runtime in that Eclipse instance, and then the IPF Manager. Here are the update-site URLs for IPF Manager and the corresponding IPF Runtime, and the supported version of the target Eclipse instance:
| IPF Manager Version | IPF Manager Update Site URL | Required Eclipse Version | IPF Runtime Update Site URL | Description |
|---|---|---|---|---|
| 2.1.1 | http://repo.openehealth.org/sites/ipf-tools/manager/updatesites/releases/latest/ | 3.5 | http://repo.openehealth.org/sites/ipf-tools/runtime/updatesites/releases/latest/ | Eclipse update sites of the latest of IPF Manager and its corresponding runtime |
| 2.x.x.SNAPSHOT | http://repo.openehealth.org/sites/ipf-tools/manager/updatesites/development | 3.5 | http://repo.openehealth.org/sites/ipf-tools/runtime/updatesites/development | Eclipse update sites of the latest development (snapshot) release of IPF Manager and its corresponding runtime |
Alternatively, you can download p2-repository-version.qualifier.zip from the update site location, and install it as an archived update site with the Eclipse update manager.
Sources
The latest sources of the IPF Manager are located at
http://github.com/oehf/ipf-tools/tree/master/manager/
To check out the sources, clone the ipf-tools git repository (see also Appendix A)
git clone git://github.com/oehf/ipf-tools.git
Usage
Standalone
To start the IPF Manager from a standalone distribution, unzip the IPF manager-version.qualifier-win32.win32.x86.zip file from an IPF binary distribution (where <version> is the version of the IPF Manager). Go to the extracted folder and start the IPF Manager with IPFManager.exe. If you're working on Linux use IPF manager-version.qualifier-linux.gtk.x86.zip. After start-up you will see the the initial application window.
The next step is to tell the IPF Manager how to connect the the Java virtual machine where the flow manager is deployed.
Eclipse
To start the IPF Manager in Eclipse make sure that you have installed IPF Runtime. After that, navigate to the Eclipse update manager in the main menu with Help->Install New Software..., click on Add..., enter the IPF Manager update site URL in the Location text box and close the dialog with OK. Choose IPF Manager from the list of features and follow the installation instructions. At the end choose to restart Eclipse. After the installation, a new Eclipse perspective IPF Manager will be added to the list of Eclipse perspectives. The perspective can be activated if you click on Window->Open Perspective->Other... as shown in the screenshot below.
Below is a screenshot of activated IPF Manager perspective in Eclipse.
Connection management
To create a JMX management connection use one of the following ways:
- Standalone
- click on IPF Manager->Connection->New in the main menu
- click button Create New Connection on the Connections toolbar
- Eclipse
- select File->New->Other...-> IPF ->IPF Connection and click on Next. After this step the IPF Manager perspective will be activated, and an IPF Manager menu will be contributed to the main menu
- activate the IPF Manager perspective and click IPF Manager->Connection->New in the main menu
The following wizard will show up.
Here's a description of the dialog fields.
| Field | Description |
|---|---|
| Name | The unique name of the connection. |
| Host | The name of the host to connect to. |
| Port | The port number to connect to. For the reference application this is 1801. |
| Open Connection on Finish | If checked the application will try to open the connection. The connection will be saved when the application is closed and will show in the connections view the next time the application is opened. The state of the connection will not be saved. |
| Use authentication | Check this box for username/password authentication. |
| User name | The user name for authentication. |
| Password | The password for authentication. Please note that the password is currently stored base-64-encoded and not encrypted. |
| Customize JMX URL | Check this box for advanced JMX URL customization. The JMX URL can be seen in the Properties window after the connection is created. |
| JMX URL Path | The path at the end of the JMX URL. The default value is jmxrmi. |
| JMX RMI connector port | Set this property if you have to manage an IPF instance behind a firewall. The managed IPF instance must be configured to use a fixed JMX RMI connector port. By default the text box is empty. |
| If you are connecting to a SSL-enabled server, you can additionally configure trust store location and password in the connection preferences page (Window->Preferences->JMX Connections). |
After pressing the Finish button a new connection is created and shown in the Connections view.
The Connections view is a window that shows all connections. From this view window one can open, close or remove connections. In the associated Properties view you can see the details of the selected connection in the Connections view.
Flow management client
The flow management client provides a rich user interface for working with the flow manager. It can be opened in a separate tab with:
- a double-click on a connection in the Connections view;
- with a right mouse-click on the selected connection(s) in the Connections view and selecting Open Flow Manager from the context menu;
- with the key sequence Control + F3;
The UI controls in the flow management tab are only enabled if the connection is open.
Here's a description of the fields and controls provided by the flow management client. These correspond to the attributes and operations exposed through the flow management JMX interface which are described more detailed in the flow management section of the IPF reference manual.
| Field | Description |
|---|---|
| Application | Flow manager operations are scoped by application name which is entered in this field. The application name is persisted on the server. |
| Filter flow duplicates | Selecting this box avoids sending messages to destinations more than once. This box should be enabled if you want to avoid sending duplicates during message replays. Turning off filtering can be useful for integration testing purposes. This setting is persisted on the server. |
| Cleanup acknowledged flows | Selecting this box removes any message content stored by the flow manager if the flow successfully completed. This saves disk space in production environments. Once the message content is removed from a flow object it cannot be replayed any more nor can the message content be viewed in the Content view. Erroneous flows are never cleaned i.e. they can always be replayed. This setting is persisted on the server. |
| Limit number of result flows to | Sets the maximum number of flows to be returned on a search request. |
| All flows | Select this radio button if flow searches shall return both CLEAN and ERROR flows. |
| Error flows | Select this radio button if flow searches shall only return ERROR flows. |
| Unacknowledged flow | Select this radio button if flow searches shall only return CLEAN flows without a single acknowledgement. |
| From | Use these controls to define a lower time limit for flows returned by a flow serach. This refers to the time when the flow was created. If you don't want to use a lower time limit uncheck the Use lower limit checkbox. |
| To | Use these controls to define an upper time limit for flows returned by a flow serach. This refers to the time when the flow was created. If you don't want to use an upper time limit uncheck the Use upper limit checkbox. |
| Search inbound messages | If checked you can enter fulltext query expressions in the text field. Only messages that match the query expression (and the other criteria) will be returned. If the text field is empty or the Search inbound messages checkbox is not checked then no fulltext search is done. |
| Search | Press this button to start a flow search using the criteria defined in the Flow search settings frame. |
| No isolation from other JMX clients The Eclipse flow management client interacts with the server via a JMX interface. There's no session maintained between the client and the server. Therefore changes made by one JMX client are visible to other JMX clients. The flow management client is able to process JMX notifications and can update its state accordingly. |
When a flow search operation returned results then they are shown in the Search view. Selecting a flow in the Search view displays the properties of that flow. These properties are described in detail in the flow management section of the reference manual.
When you right-click on a flow or a selection of flows in the Search view you can either show the content of messages associated with this flow or replay the selected flow(s). For each flow the initial inbound message is stored with the flow object while outbound messages are stored with flow parts. Of course, you have to configure your IPF application to render incoming and outgoing messages so that they can be stored and viewed inside the flow manager client. For instructions how to configure message rendering refer to the flow management section of the reference manual.

You can also replay selected flows. When replaying flows you can avoid sending duplicates to destinations by checking the Filter flow duplicates checkbox in the flow management tab.
JMX client
The integration platform manager also provides a generic JMX client. For each connection in the Connections view you can find a node in the JMX Explorer view. For opened connections you can expand these nodes and browse the registered MBeans. In the following figure you can see the FlowManager MBean including its attributes and operations.
Selecting an MBean, attribute or operation in the JMX Explorer displays the corresponding properties in the Properties view. When you double-click on the Attributes node of an MBean an attribute editor opens where you can view and change an MBean's attribute values. When you double-click on the Operations node an editor opens where you can execute JMX operations. Operation results are displayed in the Console view.
