Web-based Client for TIBCO ActiveSpaces
TIBCO ActiveSpaces 4.x allows for implementing an In-Memory Data Grid (IMDG) that is used for high throughput real-time transactions that can query engine memory for quick processing. As part of the development and testing effort, an in-memory data grid may receive connection requests and queries from geographically distant teams. The team may want to load the IMDG tables or verify the content of the tables. TIBCO ActiveSpaces depends on TIBCO FTL as the transport mechanism that maintains the connections. It is observed that when a large number of client connections are made to ActiveSpaces, the connections become stale and unresponsive. Even on a restart of an ActiveSpaces grid, the client connections persisted, they showed-up as still connected.
To resolve this issue, a web-based client was built with an authentication layer for developers. The client stays connected to the TIBCO ActiveSpaces grid while reusing the same client connection for all queries from the team. The development team would log into the UI, which is ready to take the queries and pass them over to the server where the actual execution of the query takes place. After the execution of the query, the results are then transferred back to the web-based client.
- Developed the client and server using Java and a web server.
- A RESTful web service is used for communication between the client and the server. The client is developed using Java. JDBC API was used to perform the select queries and, TIBDG API, com.Tibco.data grid, provided as part of TIBCO ActiveSpaces, was used to perform client queries
- HTMS and CSS are used for the development of web-based UI
- Used Ajax to trigger the restful web service from the client.
- As shown in the below screenshot, the needed queries for either Select or Insert are filled-in in the query textbox, and an execute button is provided for running it on the data grid
This process minimized the creation of new connections and helped stabilize the development and testing environments. Usage of a single client connection helped stabilize TIBCO ActiveSpaces data grid and made it more accessible. It could be used over the internet instead of using another tool and establishing a new connection each time someone from the team had to connect to execute a query.