Pallos began giving answers by saying there is no one answer. “No one solution fits all organizations. Our industry doesn’t have the knowledge required to build a single architecture to satisfy all business requirements. And perhaps it never will, because corporations are different, they choose to operate differently, and there’s a vast array of diverse business requirements driving our technology. So with these best practices we’re going to talk about today, most likely anyone out there will be able to give me a valid business reason that, in your organization, you wouldn’t want want to incorporate a specific best practice. And you’d be correct.
“But at the same time, there are multiple themes and things we can incorporate as best practices to optimize a Websphere environment.” And, added Pallos, the WebSphere database (persistence) layer offers lots of opportunities for optimization.
Saying he’d be focusing on the persistence layer, Pallos pointed out that if your organization is running WebSphere AE (Advanced Edition), it’s probably using three databases: the administration repository (configuration database), a persistence database (if session persistence is being employed), and the business information database, which provides persistence of business transactions and entities and is the business record.
Pallos noted that the interaction of those databases helps determine the WAS performance level. Web users’ unpredictable usage patterns and shorter interaction times place more demands on the database connection, but optimizing WebSphere App Servers (WAS) can bring back-end order to even the most chaotic end-user environment.
Pallos suggested a half-dozen best practices:
Connection Pooling: “Always use it,” Pallos ventured. “It’s at least three-times faster if you incorporate Connection Pooling into your application.” And if done properly, Connection Pooling enables users to “play well with others.” Specifically, Pallos suggested:
obtaining and closing connections in the same method
developing separate methods for expensive JNDI lookups
not declaring connections as static objects
not closing connections in the finalize method
closing connections you open “to maintain good application development practices, and more importantly, users will (otherwise)experience long delay times”
not managing data access in Container Managed Persistence beans.
Prepared Statements: Use them as opposed to regular or callable ones.
Session Database: Enable session persistence (incorporate java.io.Serializable into your code) and keep session size down to 2K or smaller (Pallos said IBM feels once sessions hit 4-5K, “your system basically starts choking.”)
Enterprise Java Beans: Learn them and use the appropriate ones.
Java Database Connectors: Choose your driver wisely. JDBC 2.0 is required by WAS and usually offers the best performance. With 167 different JDBC drivers available, Pallos’ guidelines for finding the proper API levels required by WebSphere apps can be especially timely.
Systems Management: Pick a solid Performance/Monitoring Tool. Pallos reviewed several.
That’s only the initial stanza of the wisdom Pallos offered up on the best practices he highlighted. His presentation sparked numerous technical questions from the audience, questions he fielded with fellow Candle Senior Architect Warren Mason.
ebizQ is the insider’s guide to next-generation business process management. We offer a growing collection of independent editorial articles on BPM trends, issues, challenges and solutions, all targeted to business and IT BPM professionals.
We cover BPM standards, governance, technology and continuous process improvement, as well as process discovery, modeling, simulation and optimization, among many other areas. We follow case management, decision management, business rules management, operational intelligence, complex event processing and other related topics. We closely track important trends such as the rise of social BPM, mobile BPM and BPM in the cloud. We also explore BPM’s use in functional areas, such as supply chain and customer management, and in key verticals, such as financial services, health care, insurance and government.
ebizQ's other BPM-oriented content includes podcasts, webcasts, webinars, white papers, a variety of expert blogs, a lively online forum and much more.