CA DevTest Version: 9.1
I am working on Agent based JDBC Virtualization. I need your help to understand how agent based JDBC Virtualization works ? Any explanatory documentation is available.
Is there a particular reason why you need to do jdbc-based virtualization? Due to the chattiness of jdbc, best practice recommendation is to take it a step higher in the stack and virtualize the java dao layer (for example)
Thanks Mark. We have a specific requirement where we want to test client (Springboot/Java) application against the JDBC virtual services and perform queries again recorded transaction data. Even I tried with driver-based JDBC virtualization but that is also not working as we expected. Can you please help me to understand your recommendation - virtualize java dao layer concept. Thanks in advance !!
Once you have installed the agent onto the web app server, and connected it up to the portal, you can then do a recording targeting java. You choose java, then choose the agent that was installed...then you choose the package/classes that you want to record. Be careful to only select the classes you want to avoid noise.
The recorder will make an image of all the dao traffic you may desire and then can be played back and managed in the VSI. Java virtualization, like JDBC works via the agent and requires no endpoint changes like soap, rest.
Once deployed/active, the agent will intercept all web app layer traffic and respond with the virtual image.
Thanks Mark, I appreciate your detailed and helpful explanation. Let me try it out and will keep you posted.
And in case you haven't noticed, the user documentation has a section on agent-based JDBC virtualization:
Thanks Jeff. I have noticed the documentation that you are referring but I didn't find it very informative. Don't have detailed information on JDBC virtualization.
Do you have any handbook around Java agent-based JDBC virtualization with guideline and best practices ?
I'll ask around. In the meantime, the following post includes a response from @Bhavin_K that might be helpful:
Thanks a lot Jeff. Its very helpful. I have started working on that part - Java based Virtualization. It would be appreciated if you can share guideline or best practices around it.
Another question is, currently we have implemented driver based JDBC Virtualization and we realized that JDBC Virtualization only works when we keep virtual service and client application on the same host and it doesn't work if both are on different host. It would be helpful if you can confirm on this behivour with CA DevTest 9.1 ?
So far I was able to configure Java agent in Tomcat JVM and able to record JDBC transaction from the class which is making calls to DB. Now I am struggling with accessing virtual service. Can you please suggest the way to consume virtual service from client application ?
Once you stop the recording the next step is to select "Create VS Artifact" and select a project. Now you have the VS, you need to deploy it to the VSE. Once it is up and running, you would change your application to point to the deployed VS
Koustubh, do you want me to use DevTest Portal for JDBC recording than Workstation. The current service has been implemented in Workstation. Another question is as its a Java Virtual Service (JDBC), can I access it in a same way that I can access from client or Java code with DB parameters ? Or even in workstation devtest test, which step do you suggest ? Thanks.
Did any of the suggestions above help to answer your question? If so, please be sure to mark this question as answered.
I managed to record my jdbc traffic with workstation VSE recorder. Then I saved mar file and deployed it successfully via web portal. Service is up and running but I cannot connect to it via my application. The service in monitor has a following resource/type 12297 : lisasim : //localhost [?/?]. The server is on another machine (not localhost) and I am not able to telnet to this machine on port 12297. What am I doing wrong? What should be a proper connection url? Thanks.
Retrieving data ...