Comments have been closed on this page. Please use AppMon & UEM Open Q & A forum for questions about this plugin.


This is an experimental prototype bringing UEM features to your Java/.NET Rich Client Applications. It allows tracing activites in WinForms/WPF/SWT/AWT Clients in a similar way as Native Mobile Applications

This prototype uses the same protocol as the Mobile ADK. It requires the following steps to work
a) You need to change the source code of your rich client application to call the ADK functions
b) You need User Experience Management either on a Java Application or Web Server Enabled
c) You need a UEM License as these Rich Clients will be identified as Visits that create Page Actions.



This is an experimental release. Use at your own risk. Do not use in production.
Please let us know what you think in the forum.

Sample for .NET

 Samples and Step-by-Step Guide for .NET

Download a sample easyTravel WinForms Application. It will connect to easyTravel Business Backend Web Services running on localhost. It uses the RichClientADK to connect to a Web Server Agent on http://localhost:8079. Best is to launch one of the easyTravel UEM Scenarios.

Here are some images that show the Sample Application, Code Snippets and captured PurePaths:

Upon close of the application a message box will show the captured log output of the ADK. Remember - this is a sample application (smile)

Using the ADK on your Application

Have a look at the sample project. Download

Step 1: Initialize ADK

Before using the ADK it needs to be initialized. The Startup method will launch a background worker thread that will later be used to send data to the configured monitorSignalURL. This call MUST BE made before making any other calls to the ADK

Here is a sample call to the Startup method:

void Startup(string monitorSignalURL, string applicationId, string deviceType, string manifacturer, string userlanguage, string connectionType)
Description: Will initialize the ADK




Configured UEM Signal URL, e.g:



The Application Name used for the captured Page Actions


Will show up with the visit, e.g: Laptop, Desktop, ... (can be empty string)


Allows you to specify manifacturer name of device, e.g: DELL, Lenovo, ... (can be empty string)


Language setting of the user, e.g: EN, DE, FR, ... (can be empty string)


Network Connectivity Information, e.g: WiFi, LAN, ... (can be empty string)

useGET new for 6.1: please use TRUE
true=use HTTP GET to send signal. false=use HTTP POST. 

Step 2: Create Actions

A new action will start a new Page Action which will measure the time between creating the action and calling the method Leave() on it.

Action Enter(string name)
Description: Will start a new Page Action.




Name of the Page Action


Action object to be used for further logging

void Leave()
Description: Will end the Page Action

It is also possible to have child actions. Simply call EnterChildAction on an Action object.

Step 3: Tag Web Service Calls

When an application makes Web Service calls or regular HTTP Web Requests they can be tagged so that the captured server-side PurePaths will be linked to the Page Action.

void RichClientADK.TagHeaderBehavior(Action parentAction)
Description: Will make sure to tag the outgoing HTTP Request of the Web Service call




Server-Side PurePath will be linked to that parent action. If NULL the Web Request will be linked to the current open Action

void TagWebRequest(HttpWebRequest request, Action parentAction)
Description: Will tag this request by adding an HTTP Header




HttpWebRequest object


Server-Side PurePath will be linked to that parent action. If NULL the Web Request will be linked to the current open Action

Step 4: Log context information

Additonal to monitoring actions it is possible to log additional context information on page actions. In the current version of the ADK we allow to report a string value.

void ReportEvent(string name)
Description: Logs a string value on the Page Action. Can be seen in Page Action PurePath




Any string value that should be logged

Step 5: Shutdown ADK

Before the application stops it is required to shutdown the ADK. This allows the ADK implementation to send any unsent monitoring data and also gracefully stop the background worker thread

Sample for Java AWT

 Samples and Step-by-Step Guide for Java AWT

Start by downloading the AWT Sample Application: AWT_RichClient-UEM-ADK-Demo-src.zip
The sample application is already instrumented with the Rich Client UEM ADK which will create Page Actions for every AWT Control Interaction. Check out the following screenshots to get a better understanding on what information is captured by dynaTrace when interacting with the sample application:

Using the ADK on your own application

Step 1: Initialilze ADK
The only thing you need to do in your application is to call the initialize method of the AWT Agent. Here is an example:

The initialize method will register an AWT Event Queue Handler. The handler will then create a page action for the most common window, mouse and keyboard events

  • No labels