This section provides guidelines for successful implementation and use of IBM Tealeaf UI Capture.
In parallel with your process for developing the web application, plan to deploy IBM Tealeaf UI Capture as early as possible in the development process for the following reasons.
- Early deployment limits the potential for issues that are discovered in a production environment.
- Early deployment provides an opportunity to monitor application problems and help debug the application.
These guidelines apply to all deployments of IBM Tealeaf UI Capture. Different options can apply to different web application types.
IBM Tealeaf UI Capture supports specific browsers, application types, and protocols.
For a list of supported browsers, see System prerequisites and supported browsers for IBM Tealeaf UI Capture.
Supported application types
In general, rich internet application (RIA) functionality must be limited to only the areas of your web application that require it.
RIA requires more sophisticated monitoring techniques and can increase the volume of traffic that IBM Tealeaf must process.
IBM Tealeaf supports the following rich internet application types:
Note: IBM Tealeaf continues to support existing customers who deployed Flash or Flex applications. IBM Tealeaf does not support new customers who use these technologies.
Note: Currently, IBM Tealeaf does not support UI capture and replay of multiple Flex or Flash applications on the same page. This limitation does not include multimedia content applications that do not require IBM Tealeaf UI capture or replay. If your application requires multiple Flex or Flash RIAs on the same page, each of which must be captured for replay, contact IBM Professional Services.
Note: IBM Tealeaf supports applications that use text-based data formats for communicating with the server. If your application uses binary data formats such as AMF, contact IBM Professional Services.
IBM Tealeaf supports HTTP and HTTPS for request and response communication between client and server.
Verify that all Ajax send and receive communications are managed by HTTP or HTTPS.
The protocol of the client events is the same as the request that sent the page to the browser. If the client events must be sent by HTTPS, verify that the source page is delivered by HTTPS.
Captured form field values are transmitted in the same protocol in which the form page is transmitted to the server. If your form page is transmitted by HTTPS, the form field values are encrypted, too.
Note: IBM Tealeaf does not currently support any other protocols, such as HTTP streaming, HTTP push, or non-HTTP protocols such as RTMP. Verify that your application does not use non-HTTP/HTTPS protocols.
Before you begin development
Before you begin your IBM Tealeaf UI Capture development initiatives, verify that the following information is available or was captured.
IBM Tealeaf access
If possible, deploy the web application on a server that is accessible to IBM Tealeaf developers. To effectively debug issues, IBM Tealeaf developers must have access to the application.
The following guidelines apply to third-party content.
IBM Tealeaf cannot capture content that is managed by third-party domains. In a typical deployment, most of this content is not integral to application performance and can be re-requested at replay time without impacting overall application replay. If capture of dynamic versions of this content is required, contact IBM Professional Services.
Other than the Flash player, IBM Tealeaf does not currently support the replay of third-party plug-ins in Rich Internet Applications, such as Silverlight or Java applets.
Personnel in the following roles need to be available to IBM Tealeaf for the UI Capture deployment.
- Application architect
- During deployment, IBM Tealeaf can make requests to the web application architect to identify locations in the application for calls to the IBM Tealeaf API. This individual is also useful for answering technical questions.
- Business analyst
- From the business perspective, it is important to know which areas of the application require monitoring and to what degree. This knowledge directly translates into which UI elements, events, clicks, and other aspects of the application must be captured by IBM Tealeaf. During development, this individual might be able to identify qualified use cases for IBM Tealeaf UI Capture.
If application development is outsourced to a third-party, provide access to this team. IBM Tealeaf can work within any constraints for contracting external development teams.
During the development process, keep in mind the following considerations.
IBM Tealeaf assumes that the following basic production stages are in place.
For more information about development goals during each of the stages, see UI Capture installation and implementation.
When to deploy UI Capture during development
IBM Tealeaf recommends deploying IBM Tealeaf UI Capture as early as possible in your development process.
In addition to curtailing the number of issues in a Production environment, UI Capture can be useful for debugging issues with the application development process itself. Your web application and UI Capture can work hand-in-hand to deliver a better overall result.
For example, changes to the client-side application, such as changes to the element identifiers, additions or modifications of UI widgets can impact capture and replay of the client-side UI. Identifying these changes via IBM Tealeaf UI Capture in a Development environment facilitates faster resolution and a better replay experience once the application is deployed in the Production environment.
You can also use IBM Tealeaf UI Capture privacy rules configuration to identify and protect sensitive client data before deployment to the live site.
By including IBM Tealeaf as part of the main development effort for your web application, UI Capture can be integrated into the change management and scheduled maintenance processes for your enterprise.
Development and Test environments
Where possible, configure all Development or Testing environments to mirror the Production environment. Apply the same web server settings and permissions that are configured in the Production server to the Development environment or Test environments.
Note: Never deploy IBM Tealeaf UI Capture directly into a Production environment.
Integrate IBM Tealeaf UI Capture into the Performance Management test suite for your enterprise.
When developing your web application, keep in mind the following considerations.
All user interface elements of the web application must have unique identifiers. Where possible, implement the application with unique identifiers for each UI element.
If unique identifiers are not available, IBM Tealeaf relies on XPath identifiers. However, this solution might not be 100% accurate, and use of XPaths can increase the size of each UI Capture message and the total cost of storing the data.
Note: IBM Tealeaf UI Capture does not automatically check for uniqueness of identifiers. Non-unique identifiers must be blacklisted manually through the configuration.
Dynamically transmitted GUIDs
If the application generates client-side dynamic GUIDs that are transmitted over the network, replay of captured sessions can be affected. Timestamps and changes in application behavior due to user agent, visitor locale, and other dynamic factors can have effects on replay.
Depending on the variations, effective replay might require IBM Professional Services to develop complex rules to match the dynamically generated POST data, remap server hosts, and more.
Note: Wherever possible, avoid client-side dynamically generated identifiers. While dynamic identifiers can be tracked by IBM Tealeaf, managing them is another layer of complexity in configuration.
Do not use Document Object Model keywords as form field names
This requirement is best illustrated by example.
The following is a specification of an HTML form that contains three input fields, the name of which uses the HTML and Document Object Model keywords action, type, and tagName.
<form id="my_form" method="get" action="submit.php"> <input type="text" name="action" value="hotel" /> <input type="text" name="type" /> <input type="text" name="tagName" /> </form>
Note: Do not use any reserved Document Object Model keyword as the name of a form field.
The following sections describe aspects of the application you are developing and how they might affect IBM Tealeaf UI Capture.
- Where possible, do not use anchor tags as the value on which to change Ajax driven views, modals, or fly-out windows.
- In Ajax calls, do not make the request parameters or response data difficult to review and analyze. Create a request body that clearly shows what is being requested and where it is placed in the root document. The same applies to the response.
- For Ajax calls that result in updates to the page in the form of new user input elements such as drop-down lists or text boxes, IBM Tealeaf needs to be notified so that user interactions with these newly inserted elements can be captured. The UI Capture library provides a simple API for this purpose.