Java tip: Consuming SharePoint web services with a Java client
Many companies use SharePoint to store and share documents, but relatively few Java developers know how to access SharePoint web services from a Java client. In this Java tip, learn how to use CAML calls for CRUD operations in SharePoint's Copy and Lists web services.
Joseph Chandler, October 2013
Java tip: Write an SOA integration layer with Apache Camel
Use Apache Camel's Multicast and Aggregator pattern implementations to develop a quick-and-easy integration layer for a service-oriented architecture.
Anirban Konar and Devaradjan Venkatesan, September 2013
Java tip: Orthogonality by example
Orthogonality is a concept often used to describe modular and maintainable software, but it's also a design principle found (and broken) in some of our most popular Java utilities. With this short article you'll wrap your head around orthogonality once and for all -- by seeing how it is implemented, and violated, in Log4j. Workarounds are also discussed.
Jens Dietrich, May 2013
Java tip: Deploying JavaFX apps to multiple environments
JavaFX 2.0.2 and successor SDKs let you deploy JavaFX applications in multiple environments including as a standalone app, via Java Web Start, or embedded in a web page. Jeff Friesen follows up his recent introduction to JavaFX 2.0 with this short tip on deploying JavaFX applications.
Jeff Friesen, May 2012
Java Tip 144: When to use ForkJoinPool vs ExecutorService
This Java Tip demonstrates the performance impact of replacing the Java 6 <code>ExecutorService</code> class with Java 7's <code>ForkJoinPool</code>.
Madalin Ilie, October 2011
Java Fun and Games: Explore the geometry of nature
Enhance your Java games with math-based fractals that imitate nature's geometry.
Jeff Friesen, June 2007
Some Recipes to Improve Your Google Web Toolkit Development
The Google Web Toolkit (GWT) is an open source toolkit that allows you to create AJAX-based Web applications that are completely written in Java. This article summarizes experiences gained when implementing a client/server Web application with GWT and Tomcat. Lessons learned are shared as tips and recipes that can improve the development of your GWT-based Web applications.
Klaus P. Berg, April 2007
The Java Enclosing Class as an Implementation of the Builder Pattern
In the traditional Builder Pattern, a Product's encapsulation can be compromised since its compositional logic resides in another class. What if you could determine a Product's composition at run time without breaking encapsulation? In some cases, you can accomplish this with one of Java's more obscure features: nested classes.
Jason DeMorrow, April 2007
Java Tip 143: Utilize the Database Schema Browser
The Database Schema Browser utility eases the task of database lookup by providing users with a consolidated list of tables and their definitions with one simple hit to the servlet. What's more, you can use the browser's print options to print out a handy database reference. This tip highlights how you can use Java Database Connectivity (JDBC) APIs to create a simple database utility. It's a first step towards building more complex utilities like code generators and SQL browsers.
Saurabh Singh, October 2003
Java Tip 142: Pushing JButtonGroup
Swing's ButtonGroup class allows radio button grouping to ensure single selection; however, the implementation raises many question marks. You cannot retrieve a reference to the currently selected button in the group, and the class lets you select or deselect any button accessible through a reference, not just those belonging to the group. This tip describes how JButtonGroup subclasses ButtonGroup to offer a more solid implementation, while providing convenience methods that make JButtonGroup much simpler to use.
Daniel Tofan, September 2003
Java Tip 141: Fast math with JNI
Java 2 Platform, Standard Edition (J2SE) 1.4x uses a new StrictMath package to perform mathematical calculations, but many of these math routines are much slower than the corresponding routines in J2SE 1.3. Luckily, Java Native Interface (JNI) enables you to circumvent this serious performance bottleneck.
Jeff S. Smith, August 2003
Java Tip 140: Automatically generate JavaBeans from XSL files in J2EE applications
One way to write Java 2 Platform, Enterprise Edition (J2EE) applications that produce dynamic content is to use servlets, JavaBeans, XML, HTML, and XSLT (Extensible Stylesheet Language Transformations). In this tip, Klaus Berg looks closely at the automated conversion of HTML form parameter names to JavaBeans. Form parameters are a part of HTML embedded in an XSL file. The generated beans serve as intermediate storage in J2EE applications and hold user-entered data in an HTML input form. Typically, the beans convert into an XML tree that provides the input for an XSL transformation that finally produces the HTML output for the user.
Klaus P. Berg, July 2003
Java Tip 139: Ask the right questions in your survey application
Businesses often use surveys for market research, user feedback, and various evaluation methods. Increasingly, surveys are being placed online, and good software is needed to make them more efficient and cost effective. Some surveys are simple by nature (a few questions with multiple choices), while others are more complex. The fewer questions asked, the better you can retain a user's attention and patience. Hence, in a good survey, only questions relevant to each individual circumstance should be asked. This article presents a solution for developing an application that decouples the surveying content and logic from the application.
Terry N. Ngo, June 2003
Java Tip 138: Still parsing to generate your JavaBeans' XML representation?
Empower your JavaBeans to handle data conversion to and from their XML document format without complicating the code. This tip shows you how to write and use a component to convert a JavaBean to its XML document representation and vice versa.
Paulo Caroli, May 2003
Java Tip 137: Manage distributed JTables
When displaying tables with tens of thousands of rows (or more), it is imperative they quickly respond and display. One way to achieve this is by using a specialized TableModel that retrieves data from a server only when it is required, thereby minimizing data download. To further improve efficiency, row data can be retrieved in chunks of 50 rows and cached on the client side for future use. This article explains how to write such a distributed table and presents some of its advantages.
Jeremy Dickson, April 2003