Peek and Tweak: Optimizing J2EE Internet Transactions
12/01/2003
By Steve Baldwin
In a browser-centric, hyper-competitive world, rapid online response time is a key to business success. But as BMC Principal Software Consultant Ross Cochran explained, a number of factors can make optimizing user experiences during J2EE transactions a daunting task.
Cochran observed that, “Java seems to be a pretty much de facto standard for developing, and especially, integrating applications now” and in the future.
So he chose to focus on J2EE Internet transactions, which he defined as “connecting through a browser all the way through the IT infrastructure, through a WebSphere Application Server and returning something back to your browser.”
Cochran noted that there are numerous products that do what the IBM WebSphere family does, but said for the purposes of his talk, he would focus on WebSphere MQ, WebSphere Integration Broker, and WebSphere Application Server (WAS), which he dubbed “the three flavors” of IBM integration software.
He went through the multiple components of typical transactions, any of which could become problematic and slow things down, and outlined ways monitor system performance, identify the trouble spots, and fix what ails them.
Transaction-impacting components include HTTP (aka Web) servers, the Java Virtual Machine (JVM), Java Servlets, Java Server Pages (JSPs), and Enterprise Java Beans (JSBs).
Some examples of the kinds of difficulties that can crop up:
--Browsers: It’s difficult to even quantify exactly what slow response time is, because it varies from person to person and company to company.
--JVM garbage collection: Cochran called it a “balancing act between doing it often enough to have enough memory but not so often that you impact (slow) the running of your Java programs.”
--WAS Logs: “If they grow too quickly, it could result in your running out of file space.”
--Java Management Extensions (JMX): They’re “becoming the J2EE standard method of getting information about how your WebSphere Application Server is performing. …It's great to have all this information, but how do you access it?”